-# @(#)Makefile 5.1 (Berkeley) %G%
+# @(#)Makefile 5.3 (Berkeley) %G%
DESTDIR=
-STAND= /stand
-INCPATH= -I../.. -I../../sys
-DEFS= ${INCPATH} -DSTANDALONE -D_MONFUNCS -DSMALL
+STAND= ../../stand
+INCPATH=-I. -I../..
+VPATH= ${STAND}
-# Collections of C options:
-# COPTS device drivers/assembler, not optimized
-# CFLAGS everything else
+# RELOC=80200000 allows for boot prog up to 1D0000 (1900544) bytes long
+RELOC= 80200000
-COPTS= ${DEFS}
-CFLAGS= -O ${DEFS}
+DEFS= -DSTANDALONE -DDS5000 -DSMALL
+CFLAGS= -O ${INCPATH} ${DEFS}
+AFLAGS= -O ${INCPATH} ${DEFS} -DLOCORE
-SRCS= mkboot.c
+DRIVERS=asc.c rz.c sii.c scsi.c
+SRCS= conf.c machdep.c trap.c ${DRIVERS}
+LIBS= libdrive.a libsa/libsa.a ../../libkern/obj/libkern.a
-ALL= mkboot boot mkboottape
+#ALL= boot mkboot mkboottape
+ALL= boot
all: ${ALL}
-mkboot: mkboot.c
- ${CC} ${CFLAGS} -o $@ mkboot.c
+boot: ${LIBS}
-boot: start.o boot.o conf.o sys.o
- ld -N -T 80100000 -o $@ start.o boot.o conf.o sys.o
+libsa/libsa.a::
+ cd libsa; make
-mkboottape: mkboottape.c
- ${CC} ${CFLAGS} -o $@ mkboottape.c
+libdrive.a: conf.o machdep.o trap.o ${DRIVERS:.c=.o}
+ ar crv $@ $?
+ ranlib $@
-# for testing
-tboot: boot.c
- cc -o $@ ${CFLAGS} -DTEST boot.c
+${DRIVERS}: samachdep.h
-clean:
- rm -f *.o ${ALL} a.out core errs
+# depend on DEFS
-depend: ${SRCS}
- mkdep ${INCPATH} -DSTANDALONE ${SRCS}
+machdep.o rz.o trap.o: Makefile
+cons.o dca.o hil.o: Makefile
+ite.o ite_subr.o ite_dv.o ite_gb.o ite_hy.o ite_rb.o ite_tc.o: Makefile
+
+# bootable from real disks
+
+boot: locore.o boot.o bootconf.o ${LIBS}
+ ld -N -T ${RELOC} -e start locore.o boot.o bootconf.o ${LIBS} -o $@
-install: FRC
- mkboot boot ${DESTDIR}/usr/mdec/rzboot ${DESTDIR}/usr/mdec/bootrz
+bootconf.o: conf.o
+ rm -f bootconf.c
+ ln -s conf.c bootconf.c
+ ${CC} -c ${CFLAGS} -DBOOT bootconf.c
+ rm -f bootconf.c
-lint: ${SRCS}
- lint ${COPTS} -hxbn boot.c ${SRCS}
+mkboot: mkboot.c
+ ${CC} ${CFLAGS} -o mkboot mkboot.c
+
+mkboottape: mkboottape.c
+ ${CC} ${CFLAGS} -o mkboottape mkboottape.c
-tags: ${SRCS}
- ctags ${SRCS}
+# utilities
-FRC:
+clean cleandir:
+ rm -f .depend *.o *.exe *.i errs make.out core*
+ rm -f a.out boot cat
+ rm -f boot[a-z][a-z] [a-z][a-z]boot
+ rm -f libdrive.a mkboot mkboottape
+ cd libsa; make cleandir
+install:
+ ./mkboot boot rzboot bootrz
+ install -s -o bin -g bin -m 444 rzboot ${DESTDIR}/usr/mdec
+ install -s -o bin -g bin -m 444 bootrz ${DESTDIR}/usr/mdec
+
+depend: ${SRCS}
+ mkdep ${INCPATH} ${DEFS} ${SRCS}
+ mkdep -a -p ${INCPATH} ${DEFS} mkboot.c mkboottape.c
+ cd libsa; make depend