# Make the 68000 compiler support library
# One version for Regulus, another for Echo
#
# @(#)Makefile	1.5  3/27/86 10:32:16
#

LIB = /usr/lib
MFLAGS = -f ../Make68k -f Makefile

CFLAGS = -I.. -I../include
PFLAGS = -I../include

all:	libg.a libsgl.a libsglf.a libpg.a \
	lib68k.a libs68kl.a libs68klf.a libp68k.a

# must ensure /usr/include/g68k/*.h are up to date
# directories are in library order

# Regulus version
libg.a: regulus/libhdr.h Make68k dummy
	-rm -f libhdr.h libg.a
	-ln regulus/libhdr.h libhdr.h
	cd cutil; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../libg.a
	cd math; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../libg.a
	cd doubleops; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../libg.a
	cd intops; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../libg.a
	cd misc; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../libg.a
	cd strings; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../libg.a
	cd regulus; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../libg.a
	ranlib libg.a

# Echo version
lib68k.a: alone/libhdr.h Make68k dummy
	-rm -f libhdr.h lib68k.a
	-ln alone/libhdr.h libhdr.h
	cd cutil; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../lib68k.a
	cd math; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../lib68k.a
	cd doubleops; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../lib68k.a
	cd intops; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../lib68k.a
	cd misc; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../lib68k.a
	cd strings; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../lib68k.a
	cd alone; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../lib68k.a

# stdio libraries
libs68kl.a: Make68k dummy
	rm -f $@
	cd stdio; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../$@

libsgl.a: Make68k dummy
	rm -f $@
	cd stdio; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS)" ../$@

libs68klf.a: Make68k dummy
	rm -f $@
	cd stdio; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS) -DDOUBLES -DFLOATIO" ../$@

libsglf.a: Make68k dummy
	rm -f $@
	cd stdio; $(MAKE) $(MFLAGS) "CFLAGS=$(CFLAGS) -DDOUBLES -DFLOATIO" ../$@

# Pascal library
libpg.a: Make68k dummy
	rm -f $@
	cd pascal; $(MAKE) $(MFLAGS)\
		"CFLAGS=$(CFLAGS) -DDOUBLES" "PFLAGS=$(PFLAGS) -DDOUBLES" ../$@
	ranlib $@

libp68k.a: Make68k dummy
	rm -f $@
	cd pascal; $(MAKE) $(MFLAGS)\
		"CFLAGS=$(CFLAGS) -DDOUBLES" "PFLAGS=$(PFLAGS) -DDOUBLES" ../$@

alone/libhdr.h: alone/SCCS/s.libhdr.h
	cd alone; $(GET) $(GFLAGS) SCCS/s.libhdr.h

regulus/libhdr.h: regulus/SCCS/s.libhdr.h
	cd regulus; $(GET) $(GFLAGS) SCCS/s.libhdr.h

dummy:

# must be superuser
einstall:
	cd include; $(MAKE) echo
	rm -f $(LIB)/lib68k.a $(LIB)/libs68k.a $(LIB)/libs68kl.a\
		$(LIB)/libs68klf.a
	cp lib68k.a libs68kl.a libs68klf.a $(LIB)
	cd $(LIB)
	chmod 644 lib68k.a libs68kl.a libs68klf.a
	ln libs68kl.a libs68k.a

rinstall:
	cd include; $(MAKE) regulus
	rm -f $(LIB)/libg.a $(LIB)/libsg.a $(LIB)/libsgl.a\
		$(LIB)/libsglf.a $(LIB)/grt0.o
	cp libg.a libsgl.a libsglf.a grt0.o $(LIB)
	cd $(LIB)
	ranlib libg.a
	ranlib libsgl.a
	ranlib libsglf.a
	chmod 644 libg.a libsgl.a libsglf.grt0.o a
	ln libsgl.a libsg.a
