Makefile revision 1.1
11.1Stsutsui#	$NetBSD: Makefile,v 1.1 2005/12/29 15:20:09 tsutsui Exp $
21.1Stsutsui
31.1StsutsuiNOMAN		=
41.1Stsutsui
51.1StsutsuiBINMODE		= 444
61.1Stsutsui
71.1StsutsuiS		= ${.CURDIR}/../../../..
81.1StsutsuiCOMMON		= ${.CURDIR}/../common
91.1Stsutsui
101.1StsutsuiLIBSADIR	= ${S}/lib/libsa
111.1StsutsuiSYSVBFSDIR	= ${S}/fs/sysvbfs
121.1StsutsuiEWS4800MIPSDIR	= ${.CURDIR}/../../ews4800mips
131.1StsutsuiDEVDIR		= ${.CURDIR}/../../dev
141.1Stsutsui
151.1Stsutsui.PATH:		${COMMON} ${LIBSADIR} ${SYSVBFSDIR}	\
161.1Stsutsui		${EWS4800MIPSDIR} ${SBDDIR} ${DEVDIR}
171.1Stsutsui
181.1StsutsuiCOFFHDRFIX	= ${.OBJDIR}/coffhdrfix
191.1Stsutsui
201.1StsutsuiPROG		= boot
211.1StsutsuiBOOT_KERNEL	= boot_kernel
221.1StsutsuiFILES		+= ${BOOT_KERNEL}.gz	# XXX hack to install this
231.1StsutsuiSRCS		= start.S boot.c prompt.c delay.c cmd.c loader.c
241.1StsutsuiSRCS		+= bfs_subr.o disk.c diskutil.c
251.1StsutsuiSRCS		+= devopen.c datafs.c bootfs.c ustarfs.c
261.1StsutsuiSRCS		+= lance.c ether_if.c
271.1StsutsuiSRCS		+= device_test.c cop0.c mem.c
281.1StsutsuiSRCS		+= boot_device.c floppy_2d.c floppy_2hd_ibmpc.c
291.1Stsutsui#SRCS		+= floppy_2hc.c
301.1StsutsuiSRCS		+= console.c cons_rom.c cons_fb.c cons_zskbd.c cons_zs.c
311.1StsutsuiBINKERNEL_C	= ${COMMON}/binkernel.c
321.1StsutsuiBINKERNEL_SIZE	= '2 * 1024 * 1024'
331.1StsutsuiBINKERNEL_O	= binkernel.o
341.1StsutsuiBINKERNEL_DUMMY_O= binkernel_dummy.o
351.1Stsutsui
361.1Stsutsui# ${S}/lib/libsa
371.1StsutsuiSRCS		+= dev_net.c
381.1Stsutsui# ${S}/fs/sysvbfs
391.1StsutsuiSRCS		+= bfs.c
401.1Stsutsui# ../../dev
411.1StsutsuiSRCS		+= ga.c
421.1Stsutsui# ../../ews4800mips
431.1StsutsuiSRCS		+= pdinfo.c vtoc.c
441.1Stsutsui
451.1Stsutsui.PHONY: vers.c
461.1Stsutsuivers.c: version
471.1Stsutsui	${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version ${MACHINE}
481.1Stsutsui
491.1StsutsuiSRCS+=	vers.c
501.1StsutsuiCLEANFILES+= vers.c
511.1Stsutsui
521.1StsutsuiTEXTADDR	= 0xa0a00000
531.1StsutsuiLDFLAGS		= -T ${S}/arch/mips/conf/stand.ldscript -Ttext ${TEXTADDR} \
541.1Stsutsui		  -e start -N
551.1StsutsuiCOFFLDFLAGS	= -T ${COMMON}/coffboot.ldscript -N
561.1Stsutsui
571.1StsutsuiMIPSFLAGS	= -mips1 -G 0 -mno-abicalls
581.1StsutsuiDEBUGFLAGS	= -Wall -Werror
591.1StsutsuiDEBUGFLAGS	+= -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
601.1StsutsuiDEBUGFLAGS	+= -Wno-format-zero-length -Wno-sign-compare
611.1StsutsuiOPTFLAGS	= -Os -mmemcpy
621.1StsutsuiFLAGS		= ${MIPSFLAGS} ${DEBUGFLAGS} ${OPTFLAGS}
631.1StsutsuiAFLAGS		= -xassembler-with-cpp -D_LOCORE ${FLAGS}
641.1StsutsuiCFLAGS		= ${FLAGS} -ffreestanding
651.1Stsutsui
661.1StsutsuiCPPFLAGS	+= -D_STANDALONE -DSUPPORT_BOOTP
671.1StsutsuiCPPFLAGS	+= -nostdinc -I${.OBJDIR} -I${.CURDIR} -I${COMMON} -I${S}
681.1StsutsuiCPPFLAGS	+= -D__daddr_t=int32_t
691.1Stsutsui#CPPFLAGS	+= -DBOOTP_DEBUG -DNETIF_DEBUG -DETHER_DEBUG -DNFS_DEBUG -DRPC_DEBUG -DRARP_DEBUG -DNET_DEBUG -DDEBUG -DPARANOID
701.1Stsutsui
711.1StsutsuiCLEANFILES	+= ${BINKERNEL_DUMMY_O} ${BINKERNEL_O}
721.1StsutsuiCLEANFILES	+= ${PROG} ${PROG}.elf ${PROG}.tmp ${PROG}.dis
731.1StsutsuiCLEANFILES	+= ${COFFHDRFIX}
741.1StsutsuiCLEANFILES	+= ${BOOT_KERNEL} ${BOOT_KERNEL}.coff ${BOOT_KERNEL}.tmp
751.1StsutsuiCLEANFILES	+= ${BOOT_KERNEL}.gz ${BOOT_KERNEL}.gz.tmp
761.1StsutsuiCLEANFILES	+= machine mips
771.1Stsutsui
781.1Stsutsui.include "${S}/lib/libkern/Makefile.inc"
791.1StsutsuiLIBKERN=	${KERNLIB}
801.1Stsutsui
811.1Stsutsui.include "${S}/lib/libz/Makefile.inc"
821.1StsutsuiLIBZ=		${ZLIB}
831.1Stsutsui
841.1StsutsuiSAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes
851.1Stsutsui.include "${S}/lib/libsa/Makefile.inc"
861.1StsutsuiLIBSA=		${SALIB}
871.1Stsutsui
881.1StsutsuiLIBS		= ${LIBSA} ${LIBZ} ${LIBKERN}
891.1Stsutsui
901.1Stsutsui# fixup GNU binutils file offset error.
911.1Stsutsuicoffhdrfix:	${COMMON}/coffhdrfix.c
921.1Stsutsui	${HOST_CC} -o ${COFFHDRFIX} ${COMMON}/coffhdrfix.c
931.1Stsutsui
941.1Stsutsui.if !make(obj) && !make(clean) && !make(cleandir)
951.1Stsutsui.BEGIN:
961.1Stsutsui	@[ -h machine ] || ln -s $S/arch/${MACHINE}/include machine
971.1Stsutsui	@[ -h mips ] || ln -s $S/arch/mips/include mips
981.1Stsutsui.NOPATH: machine mips
991.1Stsutsui.endif
1001.1Stsutsui
1011.1Stsutsuiclean cleandir distclean: cleanlibdir
1021.1Stsutsui
1031.1Stsutsuicleanlibdir:
1041.1Stsutsui	-rm -rf lib
1051.1Stsutsui
1061.1Stsutsui${BINKERNEL_DUMMY_O}: ${BINKERNEL_C}
1071.1Stsutsui	${COMPILE.c} -DKERNEL_SIZE=0 ${BINKERNEL_C} -o ${.TARGET}
1081.1Stsutsui
1091.1Stsutsui${BINKERNEL_O}: ${BINKERNEL_C}
1101.1Stsutsui	${COMPILE.c} -DKERNEL_SIZE=${BINKERNEL_SIZE} ${BINKERNEL_C} -o ${.TARGET}
1111.1Stsutsui
1121.1Stsutsuiall realall: ${BOOT_KERNEL}.gz
1131.1Stsutsui
1141.1Stsutsui${PROG}: ${BINKERNEL_DUMMY_O} ${OBJS} ${LIBS}
1151.1Stsutsui	${LD} ${LDFLAGS} -S -o ${PROG}.elf ${OBJS} ${LIBS} ${BINKERNEL_DUMMY_O}
1161.1Stsutsui	${OBJDUMP} -h ${PROG}.elf
1171.1Stsutsui	${OBJDUMP} -m mips:4000 -d ${PROG}.elf > ${PROG}.dis
1181.1Stsutsui	mv ${PROG}.elf ${PROG}
1191.1Stsutsui	ls -al ${PROG}
1201.1Stsutsui
1211.1Stsutsui${BOOT_KERNEL}.gz: ${BINKERNEL_O} ${OBJS} ${LIBS} coffhdrfix
1221.1Stsutsui	${LD} ${LDFLAGS} -o ${BOOT_KERNEL}.elf ${OBJS} ${LIBS} \
1231.1Stsutsui	    ${BINKERNEL_O}
1241.1Stsutsui	${OBJDUMP} -h ${BOOT_KERNEL}.elf
1251.1Stsutsui	${ELF2ECOFF} ${BOOT_KERNEL}.elf ${BOOT_KERNEL}.coff
1261.1Stsutsui	mv ${BOOT_KERNEL}.coff ${BOOT_KERNEL}
1271.1Stsutsui	gzip -9c ${BOOT_KERNEL} > ${.TARGET}.tmp
1281.1Stsutsui	mv ${.TARGET}.tmp ${.TARGET}
1291.1Stsutsui#	-rm -f ${BOOT_KERNEL}.coff
1301.1Stsutsui	ls -al ${BOOT_KERNEL}.gz
1311.1Stsutsui
1321.1Stsutsui.include <bsd.prog.mk>
133