#$Header:samakefile 12.0$
#$ACIS:samakefile 12.0$
#$Source: /ibm/acis/usr/sys/standca/RCS/samakefile,v $
#
# generic makefile for generating standalone code
#
# following flags are expected to overriden by the user
#
FLAGS=
HOST=ws
# override CRT0 to get relsrt0
CRT0=srt0
RELOC = 100000		# relocation address
# START=_start
START=start
# use LDFLAGS for loader flags
XFLAG=-x
LDFLAGS = -N $(XFLAG) -e $(START)
#
#
.SUFFIXES: .ws .out .o .b .s .c .i
# home of most everything
PREFIX=
STANDIR=/sys/standca
HDIR=../h
# use flags for extra compile time flags (-g etc.)
CFLAGS = -I${STANDIR} -I${HDIR} $(FLAGS) -DTRACE -DNOINT
# AFLAGS is for CPP on .s files
CPP=/lib/cpp
AFLAGS= 
LIBSA=-lsa
LIBC=-lc
LIBS=$(LIB) $(LIBSA) $(LIBC)
LD=ld

.c.o:
	$(CC) -c $(CFLAGS) $*.c

.c.i:
	$(CC) -E $(CFLAGS) $*.c >$*.i

.s.o:
	$(CPP) $(AFLAGS) $(FLAGS) $*.s >$*.S
	$(AS) -o $*.o $*.S
	rm -f $*.S

.c.s:
	$(CC) -S -xl $(CFLAGS) $*.c

.o.out:
	$(LD) $(LDFLAGS) -T $(RELOC) $(STANDIR)/$(CRT0).o $*.o -o $*.out $(LIBS)

.c.out:
	$(CC) -c $(CFLAGS) $*.c
	$(LD) $(LDFLAGS) -T $(RELOC) $(STANDIR)/$(CRT0).o $*.o -o $*.out $(LIBS)

.out.ws:
		cp $*.out $*.ws

all:
	@echo "to make a program whose source is in prog.c do"
	@echo "	samake prog.out"
	@echo "and if that suceeds then do"
	@echo "	samake prog.ws"

clean:
	rm -f *.lis *.b
