1 # $NetBSD: Makefile.booters,v 1.5 1995/01/18 06:53:36 mellon Exp $ 2 # @(#)Makefile 8.3 (Berkeley) 2/16/94 3 4 DESTDIR= 5 STAND= ../../stand 6 #VPATH= ${STAND} 7 8 # RELOC=80200000 allows for boot prog up to 1D0000 (1900544) bytes long 9 RELOC= 80200000 10 11 S= ${.CURDIR}/../../.. 12 13 DEFS= -DSTANDALONE -DSMALL 14 CFLAGS= -O2 ${INCPATH} ${DEFS} 15 AFLAGS= -O2 ${INCPATH} ${DEFS} -DLOCORE 16 17 .PATH: ${S}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} 18 .PATH: ${S}/stand ${S}/lib/libsa 19 20 #INCPATH=-I. -I/sys 21 INCPATH=-I${.CURDIR} -I${.CURDIR}/../.. -I${S} -I${S}/lib/libsa 22 23 ### find out what to use for libkern 24 .include "$S/lib/libkern/Makefile.inc" 25 #LIBKERN= ${KERNLIB} 26 #KERNLIB= ${.CURDIR}/../compile/libkern.a 27 28 .include "$S/lib/libsa/Makefile.inc" 29 LIBSA= ${SA_LIB} 30 31 # not yet: need to write libsa/Makefile.inc first 32 LIBS= ${.OBJDIR}/libdrive.a ${.CURDIR}/libsa/libsa.a ${KERNLIB} 33 #LIBS= libdrive.a libsa/libsa.a ../../libkern/obj/libkern.a 34 35 DRIVERS= rz.c 36 SRCS= ${DRIVERS} 37 #STUFF= callvec.c devopen.c getenv.c gets.c strcmp.c 38 STUFF= 39 40 ALL= boot mkboot mkboottape dec_label rzboot bootrz 41 42 .s.o: 43 ${CPP} -E ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \ 44 ${AS} -o ${.TARGET} 45 46 all: ${ALL} 47 48 boot: ${LIBS} 49 50 #libsa/libsa.a:: 51 # cd libsa; make 52 53 ${.OBJDIR}/libdrive.a: conf.o ${DRIVERS:.c=.o} 54 ar crv $@ $? 55 ranlib $@ 56 57 # depend on DEFS 58 59 #before other deps on bootconf.o 60 bootconf.o: conf.o 61 rm -f bootconf.c 62 ln -s ${.CURDIR}/conf.c bootconf.c 63 ${CC} -c ${CFLAGS} -DBOOT bootconf.c 64 rm -f bootconf.c 65 66 67 # bootable from real disks 68 69 boot: start.o boot.o bootconf.o filesystem.o ${LIBS} 70 ld -Map boot.map -N -Ttext ${RELOC} -e start start.o boot.o bootconf.o filesystem.o ${LIBS} -o boot.elf 71 elf2aout boot.elf boot 72 73 start.o: ${.CURDIR}/start.S 74 75 # ${CPP} -E ${CFLAGS:M-[ID]*} -DLOCORE ${AINC} ${.IMPSRC} | \ 76 # ${AS} -o ${.TARGET} 77 78 mkboot: ${.CURDIR}/mkboot.c 79 ${CC} ${CFLAGS} -o mkboot ${.CURDIR}/mkboot.c 80 81 mkboottape: ${.CURDIR}/mkboottape.c 82 ${CC} ${CFLAGS} -o mkboottape ${.CURDIR}/mkboottape.c 83 84 dec_label: ${.CURDIR}/dec_label.c 85 ${CC} ${CFLAGS} -o dec_label ${.CURDIR}/dec_label.c 86 87 rzboot bootrz: mkboot boot 88 ./mkboot boot rzboot bootrz 89 90 # utilities 91 92 clean cleandir: 93 rm -f .depend *.o *.exe *.i errs make.out core* 94 rm -f a.out ${ALL} 95 rm -f boot[a-z][a-z] [a-z][a-z]boot 96 rm -f libdrive.a 97 cd libsa; make cleandir 98 99 install: 100 ./mkboot boot rzboot bootrz 101 install -o bin -g bin -m 444 rzboot ${DESTDIR}/usr/mdec 102 install -o bin -g bin -m 444 bootrz ${DESTDIR}/usr/mdec 103 104 depend: ${SRCS} 105 mkdep ${INCPATH} ${DEFS} ${SRCS} 106 mkdep -a -p ${INCPATH} ${DEFS} mkboot.c mkboottape.c 107 cd libsa; make depend 108 109 .include <bsd.dep.mk> 110 .include <bsd.obj.mk> 111