Makefile revision 1.6
11.6Sminoura# $NetBSD: Makefile,v 1.6 2001/10/15 16:23:01 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.5SminouraLINKS= ${BINDIR}/xx$(BOOT) ${BINDIR}/fd$(BOOT) 171.1SminouraBINDIR= /usr/mdec 181.1SminouraSTRIPFLAG= 191.1SminouraBINMODE= 444 201.1SminouraMKMAN= no 211.1Sminoura 221.1SminouraOBJCOPY?= objcopy 231.1Sminoura 241.6SminouraS= ${.CURDIR}/../../../.. 251.6SminouraM= $S/arch/${MACHINE} 261.6SminouraLIBKERN= $S/lib/libkern/arch/${MACHINE_ARCH} 271.6SminouraCOMMONDIR= $M/stand/common 281.6SminouraLIBIOCS= $M/stand/libiocs 291.1Sminoura.PATH: ${LIBKERN} ${COMMONDIR} 301.1SminouraSRCS= boot.S bootmain.c readufs.c readufs_ffs.c #readufs_lfs.c 311.1SminouraSRCS+= exec_image.S memset.S strcmp.S 321.6Sminoura 331.6SminouraSRCS+= vers.c 341.6SminouraCLEANFILES+= vers.c 351.6Sminouravers.c: ${VERSIONFILE} 361.6Sminoura sh ${S}/conf/newvers_stand.sh -DM ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT} 371.1Sminoura 381.1SminouraCFLAGS= -Os -fomit-frame-pointer 391.1SminouraCFLAGS+= -W -Wall -Wconversion -Wstrict-prototypes -Wmissing-prototypes 401.1SminouraCPPFLAGS+= -DTEXTADDR="0x$(TEXT)" -DBOOT_TEXTADDR="0x$(BOOT_TEXT)" 411.1SminouraCPPFLAGS+= -DBOOT=\"$(BOOT)\" -DBOOT_VERS=\"$(VERSION)\" 421.1SminouraCPPFLAGS+= -DSCSI_ADHOC_BOOTPART 431.1Sminoura#CPPFLAGS+= -DBOOT_DEBUG 441.1SminouraCPPFLAGS+= -DUSE_FFS #-DUSE_LFS 451.2SminouraCPPFLAGS+= -I${COMMONDIR} -I${LIBIOCS} 461.1SminouraAFLAGS= ${CFLAGS:M-[ID]*} 471.3Sminoura.if ${OBJECT_FMT} == "ELF" 481.1SminouraLDFLAGS= -N -Bstatic -T ${.CURDIR}/${BOOT}.ldscript 491.1SminouraLDFLAGS+= -noinhibit-exec # XXX 501.3Sminoura.else 511.3SminouraLDFLAGS= -n -Bstatic -Ttext ${TEXT} 521.3Sminoura.endif 531.1Sminoura 541.5SminouraCLEANFILES= $(PROG).x s.x x.s x.o 551.1Sminoura 561.1Sminoura 571.5Sminoura$(PROG): $(OBJS) 581.5Sminoura $(LD) $(LDFLAGS) -o $(PROG).x $(OBJS) $(LDADD) 591.5Sminoura @$(NM) --target=a.out-m68k-netbsd $(PROG).x | sed -n '/T first_kbyte/p' 601.1Sminoura @if [ `(echo ibase=16; \ 611.5Sminoura $(NM) --target=a.out-m68k-netbsd $(PROG).x | sed -n 's/T first_kbyte/-$(TEXT)-400/p' | \ 621.1Sminoura tr a-f A-F) | bc` -gt 0 ];\ 631.5Sminoura then echo '$(PROG): first_kbyte exceeds the first killobyte'; exit 1; fi 641.5Sminoura @$(SIZE) --target=a.out-m68k-netbsd $(PROG).x 651.1Sminoura @if [ `(echo ibase=16; \ 661.5Sminoura $(NM) --target=a.out-m68k-netbsd $(PROG).x | sed -n 's/D _edata/-$(TEXT)-2000/p' | tr a-f A-F) |\ 671.1Sminoura bc` -gt 0 ];\ 681.5Sminoura then echo '$(PROG): text+data is too large'; exit 1; fi 691.5Sminoura @cp $(PROG).x s.x 701.5Sminoura @$(OBJCOPY) -I a.out-m68k-netbsd -O binary s.x $(PROG) 711.1Sminoura @rm s.x 721.1Sminoura 731.1Sminoura.include <bsd.prog.mk> 74