1 # $NetBSD: Makefile,v 1.17 2009/02/14 10:39:17 abs Exp $ 2 3 NOMAN= # defined 4 5 .include <bsd.own.mk> 6 7 BOOT= Multi-boot 8 VERSIONFILE= ${.CURDIR}/version 9 VERSION!= ${TOOL_AWK} -F: '$$1 ~ /^[0-9.]*$$/ { it = $$1; } \ 10 END { print it }' ${VERSIONFILE} 11 NEWVERSWHAT= "${BOOT}" 12 13 # text address 14 TEXT= 006000 15 16 PROG= boot 17 BINDIR= /usr/mdec 18 BINMODE= 444 19 STRIPFLAG= 20 21 BFDNAME= a.out-m68k-netbsd 22 STRIP?= /usr/bin/strip 23 OBJCOPY?= /usr/bin/objcopy 24 25 SRCS= srt0.S boot.c conf.c exec_image.S 26 S= ${.CURDIR}/../../../.. 27 M= ${.CURDIR}/../.. 28 COMMONDIR= $M/stand/common 29 .PATH: ${COMMONDIR} 30 31 SRCS+= vers.c 32 CLEANFILES+= vers.c 33 vers.c: ${VERSIONFILE} 34 ${_MKTARGET_CREATE} 35 ${HOST_SH} ${S}/conf/newvers_stand.sh ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT} 36 37 CPPFLAGS+= -nostdinc -I$S -I${.OBJDIR} -I$M/stand/libsa 38 CPPFLAGS+= -I$M/stand/libiocs -I${COMMONDIR} 39 CPPFLAGS+= -D_STANDALONE -DHEAP_VARIABLE 40 CPPFLAGS+= -DTEXTADDR="0x${TEXT}" 41 CPPFLAGS+= -DBOOT=\"${BOOT}\" -DBOOT_VERS=\"${VERSION}\" 42 CFLAGS= -Wno-main -Os -m68020-60 43 .if ${OBJECT_FMT} == "ELF" 44 LINKFLAGS= -N -static -T ${.CURDIR}/boot.ldscript 45 .else 46 LINKFLAGS= -N -static -Ttext ${TEXT} 47 .endif 48 LIBIOCS!= cd $M/stand/libiocs && ${PRINTOBJDIR} 49 LIBSA!= cd $M/stand/libsa && ${PRINTOBJDIR} 50 LDLIBS= -L${LIBSA} -lsa -L${LIBIOCS} -liocs 51 52 .include "../Makefile.booters" 53 54 realall: ${PROG} 55 ${PROG}: ${OBJS} ${LIBSA}/libsa.a ${LIBIOCS}/libiocs.a 56 ${_MKTARGET_LINK} 57 ${LD} ${LINKFLAGS} -o ${PROG}.sym ${OBJS} ${LDLIBS} 58 ${STRIP} -F ${BFDNAME} -o ${PROG} ${PROG}.sym 59 60 CLEANFILES+= ${PROG}.sym 61 62 .include <bsd.prog.mk> 63