Makefile revision 1.8
11.8Sminoura# $NetBSD: Makefile,v 1.8 2001/12/05 02:07:09 minoura Exp $ 21.3Sminoura 31.3Sminoura.include <bsd.own.mk> 41.1Sminoura 51.1SminouraBOOT= boot_ufs 61.6SminouraVERSIONFILE= ${.CURDIR}/version 71.6SminouraVERSION!= awk -F: '$$1 ~ /^[0-9.]*$$/ { it = $$1; } END { print it }' ${VERSIONFILE} 81.6SminouraNEWVERSWHAT= "${BOOT}" 91.1Sminoura 101.1Sminoura# text and bss addresses in hex 111.1SminouraTEXT= 0f0000 # Primary (me) 121.1SminouraBOOT_TEXT= 006000 # Secondary (/boot) 131.1Sminoura 141.5SminouraPROG= xx$(BOOT) 151.5SminouraLINKS= ${BINDIR}/xx$(BOOT) ${BINDIR}/sd$(BOOT) 161.8SminouraLINKS+= ${BINDIR}/xx$(BOOT) ${BINDIR}/fd$(BOOT) 171.1SminouraBINDIR= /usr/mdec 181.1SminouraSTRIPFLAG= 191.1SminouraBINMODE= 444 201.1SminouraMKMAN= no 211.1Sminoura 221.6SminouraS= ${.CURDIR}/../../../.. 231.6SminouraM= $S/arch/${MACHINE} 241.6SminouraLIBKERN= $S/lib/libkern/arch/${MACHINE_ARCH} 251.6SminouraCOMMONDIR= $M/stand/common 261.6SminouraLIBIOCS= $M/stand/libiocs 271.1Sminoura.PATH: ${LIBKERN} ${COMMONDIR} 281.1SminouraSRCS= boot.S bootmain.c readufs.c readufs_ffs.c #readufs_lfs.c 291.1SminouraSRCS+= exec_image.S memset.S strcmp.S 301.6Sminoura 311.6SminouraSRCS+= vers.c 321.6SminouraCLEANFILES+= vers.c 331.6Sminouravers.c: ${VERSIONFILE} 341.6Sminoura sh ${S}/conf/newvers_stand.sh -DM ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT} 351.1Sminoura 361.1SminouraCFLAGS= -Os -fomit-frame-pointer 371.1SminouraCFLAGS+= -W -Wall -Wconversion -Wstrict-prototypes -Wmissing-prototypes 381.1SminouraCPPFLAGS+= -DTEXTADDR="0x$(TEXT)" -DBOOT_TEXTADDR="0x$(BOOT_TEXT)" 391.1SminouraCPPFLAGS+= -DBOOT=\"$(BOOT)\" -DBOOT_VERS=\"$(VERSION)\" 401.1SminouraCPPFLAGS+= -DSCSI_ADHOC_BOOTPART 411.1Sminoura#CPPFLAGS+= -DBOOT_DEBUG 421.1SminouraCPPFLAGS+= -DUSE_FFS #-DUSE_LFS 431.2SminouraCPPFLAGS+= -I${COMMONDIR} -I${LIBIOCS} 441.1SminouraAFLAGS= ${CFLAGS:M-[ID]*} 451.3Sminoura.if ${OBJECT_FMT} == "ELF" 461.7SminouraLDFLAGS= -n -Bstatic -T ${.CURDIR}/${BOOT}.ldscript -M 471.1SminouraLDFLAGS+= -noinhibit-exec # XXX 481.3Sminoura.else 491.7SminouraLDFLAGS= -n -Bstatic -Ttext ${TEXT} -M 501.7SminouraOBJCOPY?= objcopy 511.3Sminoura.endif 521.1Sminoura 531.7SminouraCLEANFILES+= $(PROG).x $(PROG).map 541.1Sminoura 551.1Sminoura 561.5Sminoura$(PROG): $(OBJS) 571.7Sminoura $(LD) $(LDFLAGS) -o $(PROG) $(OBJS) $(LDADD) > $(PROG).map 581.7Sminoura @grep first_kbyte $(PROG).map 591.7Sminoura.if ${OBJECT_FMT} == "ELF" 601.7Sminoura @if [ `(echo ibase=16; \ 611.7Sminoura sed -n 's/^.*0x\([0-9a-f]*\).* first_kbyte$$/\1-$(TEXT)-400/p' \ 621.7Sminoura $(PROG).map | \ 631.7Sminoura tr a-f A-F) | bc` -gt 0 ]; \ 641.7Sminoura then echo '$(BOOT): first_kbyte exceeds the first killobyte'; \ 651.7Sminoura rm $(PROG) ; exit 1; \ 661.7Sminoura fi 671.7Sminoura.else 681.7Sminoura mv $(PROG) $(PROG).x 691.7Sminoura $(OBJCOPY) -I a.out-m68k-netbsd -O binary $(PROG).x $(PROG) 701.7Sminoura @rm -f $(PROG).x 711.7Sminoura @if [ `(echo ibase=16; \ 721.7Sminoura sed -n 's/ first_kbyte:.*0x\(.*\),.*$$/\1-$(TEXT)-400/p' \ 731.7Sminoura $(PROG).map | \ 741.7Sminoura tr a-f A-F) | bc` -gt 0 ]; \ 751.7Sminoura then echo '$(BOOT): first_kbyte exceeds the first killobyte'; \ 761.7Sminoura rm $(PROG) ; exit 1; \ 771.7Sminoura fi 781.7Sminoura.endif 791.1Sminoura 801.1Sminoura.include <bsd.prog.mk> 81