1 1.14 christos # $NetBSD: Makefile,v 1.14 2002/07/11 16:03:16 christos Exp $ 2 1.1 dbj 3 1.1 dbj S= ${.CURDIR}/../../../.. 4 1.1 dbj 5 1.1 dbj ### find out what to use for libkern 6 1.1 dbj KERN_AS= library 7 1.1 dbj .include "${S}/lib/libkern/Makefile.inc" 8 1.1 dbj #LIBKERN= ${KERNLIB} 9 1.1 dbj 10 1.1 dbj ### find out what to use for libz 11 1.1 dbj Z_AS= library 12 1.1 dbj .include "${S}/lib/libz/Makefile.inc" 13 1.1 dbj #LIBZ= ${ZLIB} 14 1.1 dbj 15 1.1 dbj ### find out what to use for libsa 16 1.1 dbj SA_AS= library 17 1.9 chs SAMISCMAKEFLAGS= SA_USE_LOADFILE=yes # SA_USE_CREAD=yes 18 1.1 dbj .include "${S}/lib/libsa/Makefile.inc" 19 1.1 dbj #LIBSA= ${SALIB} 20 1.1 dbj 21 1.1 dbj RELOC= 4380000 22 1.1 dbj 23 1.1 dbj # XXX make defs arch-indep. 24 1.12 jdolecek INCLUDES+= -I${.OBJDIR} -I${S}/arch -I${S} -I${S}/lib/libsa 25 1.7 dbj DEFS+= -D_STANDALONE -DMC68040 -DSUPPORT_BOOTP -DSUPPORT_DHCP -DDEBUG -DSD_DEBUG -DSCSI_DEBUG # -DEN_DEBUG -DNETIF_DEBUG 26 1.1 dbj SAMISCCPPFLAGS= -DSUPPORT_DHCP -DSUPPORT_BOOTP -DINSECURE # -DBOOTP_DEBUG -DETHER_DEBUG -DNET_DEBUG # -DNETIF_DEBUG -DNFS_DEBUG -DARP_DEBUG 27 1.5 tv WARNS=1 28 1.11 jdolecek CFLAGS+= -ffreestanding -nostdinc ${INCLUDES} ${DEFS} 29 1.1 dbj LIBCRT0= 30 1.1 dbj 31 1.1 dbj PROG= boot 32 1.8 jdolecek SRCS= boot.c machdep.c conf.c devopen.c rtc.c sd.c scsi.c en.c vers.c build.c 33 1.12 jdolecek 34 1.1 dbj # @@@ dev_net.c should really be in libsa, but it doesn't 35 1.1 dbj # declare ip_convertaddr correctly, so I put it here _temporarily_. 36 1.12 jdolecek .PATH: ${S}/lib/libsa 37 1.12 jdolecek SRCS+= dev_net.c 38 1.1 dbj 39 1.9 chs CLEANFILES+= srt0.o boot.elf boot.raw machine ${MACHINE_ARCH} limits.h 40 1.8 jdolecek CLEANFILES+= vers.c build.c build # generated dynamically 41 1.8 jdolecek 42 1.10 tv NOMAN= # defined 43 1.1 dbj BINDIR= /usr/mdec 44 1.1 dbj #LIBS= ${SALIB} ${KERNLIB} ${ZLIB} 45 1.1 dbj LIBS= ${SALIB} ${KERNLIB} 46 1.13 jdolecek 47 1.13 jdolecek # do not strip ${PROG} on install 48 1.13 jdolecek STRIPFLAG= # defined 49 1.7 dbj 50 1.9 chs AWKPROG='\ 51 1.14 christos function x(v) { printf "\\0\\0%o\\0%o\\0%o", (v / 65536) % 256, (v / 256) % 256, v % 256 } \ 52 1.9 chs { \ 53 1.14 christos printf "\047\\0\\0207\\01\\07"; \ 54 1.9 chs x($$1); \ 55 1.9 chs x($$2); \ 56 1.9 chs x($$3); \ 57 1.14 christos printf "\\0\\0\\0\\0\\04\\070\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\047" \ 58 1.9 chs }' 59 1.9 chs 60 1.11 jdolecek ${PROG}: srt0.o ${OBJS} ${LIBS} 61 1.9 chs ${LD} -N -Ttext ${RELOC} -e start srt0.o ${OBJS} ${LIBS} -o $@.elf 62 1.9 chs @${SIZE} $@.elf 63 1.9 chs @${OBJCOPY} -O binary $@.elf $@.raw 64 1.14 christos @(${SIZE} $@.elf | tail +2 | awk ${AWKPROG} | xargs printf ; cat $@.raw) > $@ 65 1.1 dbj 66 1.1 dbj # startup 67 1.1 dbj 68 1.1 dbj srt0.o: ${.CURDIR}/srt0.s 69 1.9 chs ${CC} -m68040 -x assembler-with-cpp ${INCLUDES} ${DEFS} -c ${.CURDIR}/srt0.s 70 1.1 dbj 71 1.8 jdolecek .PHONY: build.c 72 1.8 jdolecek build.c: 73 1.1 dbj sh ${.CURDIR}/newvers.sh 74 1.8 jdolecek 75 1.8 jdolecek vers.c: version 76 1.8 jdolecek sh ${S}/conf/newvers_stand.sh -MD ${.CURDIR}/version "next68k" 77 1.1 dbj 78 1.1 dbj #installboot: ${.CURDIR}/installboot.sh 79 1.1 dbj # @rm -f installboot 80 1.1 dbj # cp -p ${.CURDIR}/installboot.sh installboot 81 1.1 dbj 82 1.1 dbj # utilities 83 1.1 dbj 84 1.11 jdolecek .if !make(obj) && !make(clean) && !make(cleandir) 85 1.11 jdolecek .BEGIN: 86 1.1 dbj rm -f machine 87 1.1 dbj ln -s ${S}/arch/${MACHINE}/include machine 88 1.1 dbj rm -f ${MACHINE_ARCH} 89 1.1 dbj ln -s ${S}/arch/${MACHINE_ARCH}/include ${MACHINE_ARCH} 90 1.11 jdolecek .endif 91 1.1 dbj 92 1.1 dbj .include <bsd.prog.mk> 93