Makefile revision 1.9
11.9Ssimonb# $NetBSD: Makefile,v 1.9 2005/01/01 07:00:50 simonb Exp $ 21.3Slukem 31.4StsutsuiNOMAN= # defined 41.4Stsutsui 51.4Stsutsui.include <bsd.own.mk> 61.3Slukem.include <bsd.sys.mk> # for HOST_SH 71.1Scdi 81.1ScdiS= ${.CURDIR}/../../../.. 91.1ScdiMIPS= ${S}/arch/mips 101.1ScdiCOBALT= ${S}/arch/cobalt 111.1Scdi 121.1Scdi# .PATH: ${.CURDIR}/../common 131.1Scdi 141.1ScdiBINMODE?= 444 151.2Ssimonb 161.2Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE! 171.2SsimonbLIBCRT0= 181.2SsimonbLIBC= 191.2SsimonbLIBCRTBEGIN= 201.2SsimonbLIBCRTEND= 211.1Scdi 221.1Scdi.PHONY: machine-links 231.1Scdibeforedepend: machine-links 241.1Scdi 251.1Scdimachine-links: machine cobalt mips 261.1Scdimachine cobalt: 271.1Scdi -rm -f ${.TARGET} 281.1Scdi ln -s ${COBALT}/include ${.TARGET} 291.1Scdi 301.1Scdimips: 311.1Scdi -rm -f ${.TARGET} 321.1Scdi ln -s ${MIPS}/include ${.TARGET} 331.1Scdi 341.1ScdiCLEANFILES+= machine cobalt mips 351.1Scdi 361.1Scdirealall: machine-links ${PROG} 371.1Scdi 381.6Scdi# Load @15Mb boundary as most (all?) of the Cobalt boxes 391.6Scdi# had been shipped with at least 16Mb. 401.6Scdi# 411.6Scdi# XXX The proper fix is to load at the kernel base address 421.6Scdi# and to relocate itself at the end of available memory. 431.6ScdiLOAD_ADDRESS?=0x80F00000 441.1Scdi 451.1ScdiCOMPORT?=0x0 461.1ScdiCOMBASE?=0xbc800000 471.1ScdiCOMSPEED?=115200 481.1ScdiCOMPROBE?=0xa020001c 491.1Scdi 501.1ScdiAFLAGS+= -D_LOCORE -D_KERNEL -DASSEMBLER -mno-abicalls 511.1Scdi 521.1Scdi# -I${.CURDIR}/../.. done by Makefile.inc 531.1ScdiCPPFLAGS+= -nostdinc -D_STANDALONE -DNO_ABICALLS -D_NO_PROM_DEFINES 541.1Scdi# CPPFLAGS+= -D_DEBUG 551.1ScdiCPPFLAGS+= -I${.OBJDIR} -I${S} -I${S}/lib/libsa 561.1ScdiCPPFLAGS+= -DCONS_SERIAL -DCOMBASE=${COMBASE} -DCOMPORT=${COMPORT} 571.1ScdiCPPFLAGS+= -DCOMSPEED=${COMSPEED} -DCOMPROBE=${COMPROBE} 581.1Scdi 591.1Scdi# compiler flags for smallest code size 601.1ScdiCFLAGS= -Os -mmemcpy -ffreestanding -mno-abicalls -msoft-float -G 128 611.1Scdi 621.3SlukemNETBSD_VERS!= ${HOST_SH} ${S}/conf/osrelease.sh 631.1ScdiCPPFLAGS+= -DNETBSD_VERS='"${NETBSD_VERS}"' 641.1Scdi 651.1ScdiLDSCRIPT?= ${MIPS}/conf/stand.ldscript 661.1Scdi 671.1ScdiPROG= boot 681.1Scdi# common sources 691.5ScdiSRCS+= start.S boot.c devopen.c conf.c clock.c bootinfo.c 701.7StsutsuiSRCS+= prf.c com.c cons.c ns16550.c pciide.c tgets.c wdc.c wd.c 711.1Scdi 721.1ScdiSRCS+= vers.c 731.1ScdiCLEANFILES+= vers.c 741.1Scdi 751.1Scdi### find out what to use for libkern 761.1ScdiKERN_AS= library 771.1Scdi.include "${S}/lib/libkern/Makefile.inc" 781.1Scdi 791.1Scdi### find out what to use for libz 801.1ScdiZ_AS= library 811.1Scdi.include "${S}/lib/libz/Makefile.inc" 821.1Scdi 831.1Scdi### find out what to use for libsa 841.1ScdiSA_AS= library 851.1ScdiSAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_USE_CREAD=yes 861.1Scdi.include "${S}/lib/libsa/Makefile.inc" 871.1Scdi 881.4StsutsuiLIBS= ${KERNLIB} ${SALIB} ${ZLIB} 891.1Scdi 901.1Scdi.PHONY: vers.c 911.1Scdivers.c: ${.CURDIR}/version 921.3Slukem ${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version "cobalt" 931.1Scdi 941.1Scdi${PROG}: machine-links ${LDSCRIPT} ${OBJS} ${LIBS} 951.9Ssimonb ${LD} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \ 961.1Scdi -T ${LDSCRIPT} -e start -o ${PROG} ${OBJS} ${LIBS} 971.1Scdi gzip -c9 ${PROG} > ${PROG}.gz 981.1Scdi @${SIZE} ${PROG} 991.1Scdi 1001.1ScdiCLEANFILES+= ${PROG}.map ${PROG}.elf ${PROG}.gz 1011.1Scdi 1021.1Scdicleandir distclean: cleanlibdir 1031.1Scdi 1041.1Scdicleanlibdir: 1051.8Sjmc -rm -rf lib 1061.1Scdi 1071.1Scdi.include <bsd.prog.mk> 108