#sccs	"@(#)bootload:Makefile	1.5"
# make file for unix loader on S4.
#
include $(MAKEINC)/Makepre.h

ID = id.o
CPPFLAGS=-UDEBUG -DLOADER
CCFLAGS= -O $(CPPFLAGS)
LDFLAGS=-n ifile.0407 -s

CSRC1=main.c findunix.c tty.c disk.c input.c printf.c l3.c version.c
CSRC2=supprt.c kbd.c vid.c font.c
CSRC=$(CSRC1) $(CSRC2)
DEPENDLIST=$(CSRC) $(ASSRC)
PROGS=s4load.silent s4load.verbose 
ASSRC=main1.s math.s
OBJS=main1.o main.o findunix.o supprt.o tty.o input.o disk.o\
	printf.o math.o l3.o kbd.o vid.o rastop.o font.o version.o


all:	Makeincludes interactive customer

Makeincludes: $(DEPENDLIST)
	$(INCCMD) $(DEPENDLIST) | $(SORT) | $(FILTER) > Makeincludes
#	$(MAKE)

includes: $(DEPENDLIST)
	$(INCCMD) $(DEPENDLIST) | $(SORT) | $(FILTER) > Makeincludes

interactive: debugoff flagi $(ID)
	$(MAKE) LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS) -DINTERACTIVE" $(OBJS)
	$(LD) $(LDFLAGS) $(OBJS) $(ID) -o s4load.verbose

customer: debugoff flagc $(ID)
	$(MAKE) LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS) -UINTERACTIVE" $(OBJS)
	$(LD) $(LDFLAGS) $(OBJS) $(ID) -o s4load.silent

flagi:
	rm -f flagc main.o supprt.o
	touch flagi

flagc:
	rm -f flagi main.o supprt.o
	touch flagc

clean:
	rm -f $(OBJS)

clobber: clean
	rm -f loader s4load.silent s4load.verbose

include Makeincludes

.SUFFIXES: .o

.c.o:
	$(CC) $(CCFLAGS) -c $<

.s.o:
	$(CPP) $(CPPFLAGS) $< > ..tmp.s
	$(CC) $(ASFLAGS) -c ..tmp.s
	mv ..tmp.o $@; rm ..tmp.s

lint:
	lint $(CCFLAGS) $(CSRC) >loader.lint

rastop.o:	rastop.m4
		m4 < rastop.m4 > ..tmp.i
		$(CPP) ..tmp.i > ..tmp.s
		$(CC) $(CFLAGS) -c ..tmp.s
		mv ..tmp.o rastop.o
		rm -f ..tmp.s ..tmp.i

print:
	print Makefile Makeincludes *.h $(CSRC) $(ASSRC)

install: 
	#rm -f loader; ln s4load.silent loader
	for I in $(PROGS); do echo installing $$I...; \
		$(INSTALL) -i$(EXITFLAG) $$I $(INSDIR) $(PROTOFILE); done

id.c: bootload.sl
	mkslid > id.c

populate:
	getunit
