Makefile revision 1.16
11.16Stsutsui# $NetBSD: Makefile,v 1.16 2014/01/12 15:26:29 tsutsui Exp $ 21.1Stsutsui 31.4StsutsuiWARNS ?= 1 41.1StsutsuiNOMAN = 51.1Stsutsui 61.1StsutsuiBINMODE = 444 71.1Stsutsui 81.1StsutsuiS = ${.CURDIR}/../../../.. 91.1StsutsuiCOMMON = ${.CURDIR}/../common 101.1Stsutsui 111.1StsutsuiLIBSADIR = ${S}/lib/libsa 121.1StsutsuiSYSVBFSDIR = ${S}/fs/sysvbfs 131.1StsutsuiEWS4800MIPSDIR = ${.CURDIR}/../../ews4800mips 141.1StsutsuiDEVDIR = ${.CURDIR}/../../dev 151.1Stsutsui 161.9Stsutsui# XXX SHOULD NOT NEED TO DEFINE THESE! 171.9StsutsuiLIBCRT0= 181.16StsutsuiLIBCRTI= 191.9StsutsuiLIBC= 201.9StsutsuiLIBCRTBEGIN= 211.9StsutsuiLIBCRTEND= 221.9Stsutsui 231.1Stsutsui.PATH: ${COMMON} ${LIBSADIR} ${SYSVBFSDIR} \ 241.1Stsutsui ${EWS4800MIPSDIR} ${SBDDIR} ${DEVDIR} 251.1Stsutsui 261.1StsutsuiCOFFHDRFIX = ${.OBJDIR}/coffhdrfix 271.1Stsutsui 281.1StsutsuiPROG = boot 291.1StsutsuiBOOT_KERNEL = boot_kernel 301.3StsutsuiFILES += ${PROG}.coff ${BOOT_KERNEL}.gz # XXX hack to install these 311.1StsutsuiSRCS = start.S boot.c prompt.c delay.c cmd.c loader.c 321.1StsutsuiSRCS += bfs_subr.o disk.c diskutil.c 331.1StsutsuiSRCS += devopen.c datafs.c bootfs.c ustarfs.c 341.1StsutsuiSRCS += lance.c ether_if.c 351.1StsutsuiSRCS += device_test.c cop0.c mem.c 361.1StsutsuiSRCS += boot_device.c floppy_2d.c floppy_2hd_ibmpc.c 371.1Stsutsui#SRCS += floppy_2hc.c 381.1StsutsuiSRCS += console.c cons_rom.c cons_fb.c cons_zskbd.c cons_zs.c 391.1StsutsuiBINKERNEL_C = ${COMMON}/binkernel.c 401.1StsutsuiBINKERNEL_SIZE = '2 * 1024 * 1024' 411.1StsutsuiBINKERNEL_O = binkernel.o 421.1StsutsuiBINKERNEL_DUMMY_O= binkernel_dummy.o 431.1Stsutsui 441.1Stsutsui# ${S}/lib/libsa 451.1StsutsuiSRCS += dev_net.c 461.1Stsutsui# ${S}/fs/sysvbfs 471.1StsutsuiSRCS += bfs.c 481.1Stsutsui# ../../dev 491.1StsutsuiSRCS += ga.c 501.1Stsutsui# ../../ews4800mips 511.1StsutsuiSRCS += pdinfo.c vtoc.c 521.1Stsutsui 531.1Stsutsui.PHONY: vers.c 541.1Stsutsuivers.c: version 551.7Slukem ${_MKTARGET_CREATE} 561.12Sjoerg ${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version ${MACHINE} 571.1Stsutsui 581.1StsutsuiSRCS+= vers.c 591.1StsutsuiCLEANFILES+= vers.c 601.1Stsutsui 611.1StsutsuiTEXTADDR = 0xa0a00000 621.5SlukemLINKFLAGS = -T ${S}/arch/mips/conf/stand.ldscript -Ttext ${TEXTADDR} \ 631.1Stsutsui -e start -N 641.1StsutsuiCOFFLDFLAGS = -T ${COMMON}/coffboot.ldscript -N 651.1Stsutsui 661.1StsutsuiMIPSFLAGS = -mips1 -G 0 -mno-abicalls 671.1StsutsuiDEBUGFLAGS = -Wall -Werror 681.1StsutsuiDEBUGFLAGS += -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith 691.1StsutsuiDEBUGFLAGS += -Wno-format-zero-length -Wno-sign-compare 701.1StsutsuiOPTFLAGS = -Os -mmemcpy 711.1StsutsuiFLAGS = ${MIPSFLAGS} ${DEBUGFLAGS} ${OPTFLAGS} 721.1StsutsuiAFLAGS = -xassembler-with-cpp -D_LOCORE ${FLAGS} 731.1StsutsuiCFLAGS = ${FLAGS} -ffreestanding 741.1Stsutsui 751.1StsutsuiCPPFLAGS += -D_STANDALONE -DSUPPORT_BOOTP 761.1StsutsuiCPPFLAGS += -nostdinc -I${.OBJDIR} -I${.CURDIR} -I${COMMON} -I${S} 771.1StsutsuiCPPFLAGS += -D__daddr_t=int32_t 781.2Stsutsui#CPPFLAGS += -DBOOTP_DEBUG -DNETIF_DEBUG -DETHER_DEBUG -DNFS_DEBUG 791.2Stsutsui#CPPFLAGS += -DRPC_DEBUG -DRARP_DEBUG -DNET_DEBUG -DDEBUG -DPARANOID 801.1Stsutsui 811.1StsutsuiCLEANFILES += ${BINKERNEL_DUMMY_O} ${BINKERNEL_O} 821.3StsutsuiCLEANFILES += ${PROG} ${PROG}.elf ${PROG}.coff ${PROG}.tmp ${PROG}.dis 831.1StsutsuiCLEANFILES += ${COFFHDRFIX} 841.3StsutsuiCLEANFILES += ${BOOT_KERNEL} ${BOOT_KERNEL}.elf ${BOOT_KERNEL}.tmp 851.1StsutsuiCLEANFILES += ${BOOT_KERNEL}.gz ${BOOT_KERNEL}.gz.tmp 861.1Stsutsui 871.1Stsutsui.include "${S}/lib/libkern/Makefile.inc" 881.1StsutsuiLIBKERN= ${KERNLIB} 891.1Stsutsui 901.1Stsutsui.include "${S}/lib/libz/Makefile.inc" 911.1StsutsuiLIBZ= ${ZLIB} 921.1Stsutsui 931.15StsutsuiCPPFLAGS+= -DLIBSA_ENABLE_LS_OP 941.15StsutsuiSAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes SA_ENABLE_LS_OP=yes 951.1Stsutsui.include "${S}/lib/libsa/Makefile.inc" 961.1StsutsuiLIBSA= ${SALIB} 971.1Stsutsui 981.1StsutsuiLIBS = ${LIBSA} ${LIBZ} ${LIBKERN} 991.1Stsutsui 1001.1Stsutsui# fixup GNU binutils file offset error. 1011.1Stsutsuicoffhdrfix: ${COMMON}/coffhdrfix.c 1021.1Stsutsui ${HOST_CC} -o ${COFFHDRFIX} ${COMMON}/coffhdrfix.c 1031.1Stsutsui 1041.11Sdhollandclean cleandir distclean: .WAIT cleanlibdir 1051.1Stsutsui 1061.1Stsutsuicleanlibdir: 1071.1Stsutsui -rm -rf lib 1081.1Stsutsui 1091.1Stsutsui${BINKERNEL_DUMMY_O}: ${BINKERNEL_C} 1101.6Slukem ${_MKTARGET_COMPILE} 1111.1Stsutsui ${COMPILE.c} -DKERNEL_SIZE=0 ${BINKERNEL_C} -o ${.TARGET} 1121.1Stsutsui 1131.1Stsutsui${BINKERNEL_O}: ${BINKERNEL_C} 1141.6Slukem ${_MKTARGET_COMPILE} 1151.2Stsutsui ${COMPILE.c} -DKERNEL_SIZE=${BINKERNEL_SIZE} ${BINKERNEL_C} \ 1161.2Stsutsui -o ${.TARGET} 1171.1Stsutsui 1181.3Stsutsuiall realall: ${PROG}.coff ${BOOT_KERNEL}.gz 1191.1Stsutsui 1201.1Stsutsui${PROG}: ${BINKERNEL_DUMMY_O} ${OBJS} ${LIBS} 1211.6Slukem ${_MKTARGET_LINK} 1221.5Slukem ${LD} ${LINKFLAGS} -S -o ${PROG}.elf ${OBJS} ${LIBS} \ 1231.5Slukem ${BINKERNEL_DUMMY_O} 1241.1Stsutsui ${OBJDUMP} -h ${PROG}.elf 1251.3Stsutsui# ${OBJDUMP} -m mips:4000 -d ${PROG}.elf > ${PROG}.dis 1261.1Stsutsui mv ${PROG}.elf ${PROG} 1271.1Stsutsui ls -al ${PROG} 1281.1Stsutsui 1291.9Stsutsui.include <bsd.klinks.mk> 1301.2Stsutsui.include <bsd.prog.mk> 1311.2Stsutsui 1321.3Stsutsui${PROG}.coff: ${PROG} 1331.6Slukem ${_MKTARGET_CREATE} 1341.3Stsutsui ${ELF2ECOFF} ${PROG} ${.TARGET}.tmp 1351.3Stsutsui mv ${.TARGET}.tmp ${.TARGET} 1361.3Stsutsui 1371.3Stsutsui${BOOT_KERNEL}.gz: ${BINKERNEL_O} ${OBJS} ${LIBS} 1381.6Slukem ${_MKTARGET_LINK} 1391.5Slukem ${LD} ${LINKFLAGS} -o ${BOOT_KERNEL}.elf ${OBJS} ${LIBS} \ 1401.1Stsutsui ${BINKERNEL_O} 1411.3Stsutsui mv ${BOOT_KERNEL}.elf ${BOOT_KERNEL} 1421.3Stsutsui ${OBJDUMP} -h ${BOOT_KERNEL} 1431.14Smatt ${TOOL_GZIP} -9c ${BOOT_KERNEL} > ${.TARGET}.tmp 1441.1Stsutsui mv ${.TARGET}.tmp ${.TARGET} 1451.3Stsutsui ls -al ${.TARGET} 1461.13Smrg 1471.13SmrgCOPTS.ustarfs.c+= -fno-strict-aliasing 148