Makefile.inc revision 1.20
11.20Sjoerg# $NetBSD: Makefile.inc,v 1.20 2013/11/11 10:24:27 joerg Exp $ 21.1Sjoerg 31.1Sjoerg.include <bsd.own.mk> 41.1Sjoerg 51.19Suwe# XXX: FIXME: This is defined in bsd.lib.mk 61.19SuwePICFLAGS ?= -fPIC 71.19Suwe 81.3SdrochnerCOMMON_DIR:= ${.CURDIR}/common 91.1Sjoerg.PATH: ${COMMON_DIR} 101.1Sjoerg 111.1SjoergCPPFLAGS+= -I${NETBSDSRCDIR}/libexec/ld.elf_so -I${COMMON_DIR} -I. 121.1Sjoerg 131.1SjoergOBJS+= crt0.o gcrt0.o crti.o crtn.o 141.13SjoergOBJS+= crtbegin.o crtend.o 151.13Sjoerg 161.13Sjoerg.if ${MKPIC} == "yes" 171.13SjoergOBJS+= crtbeginS.o 181.15SmattCFLAGS.crtbegin.c+= -fPIE 191.13Sjoerg.endif 201.16Smatt.if ${MACHINE_ARCH} == "alpha" 211.16SmattOBJS+= crtfm.o 221.16Smatt.endif 231.1Sjoerg 241.1Sjoergrealall: ${OBJS} 251.1Sjoerg 261.10Smatt.if exists(${ARCHDIR}/crtbegin.S) 271.10Smattcrtbegin.o: crtbegin.S 281.8Smatt ${_MKTARGET_COMPILE} 291.10Smatt ${COMPILE.S} ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o 301.8Smatt.else 311.10Smattcrtbegin.o: crtbegin.c crtbegin.h 321.1Sjoerg ${_MKTARGET_COMPILE} 331.15Smatt ${COMPILE.c} ${CFLAGS.crtbegin.c} ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o 341.8Smatt.endif 351.1Sjoerg ${LD} -x -r -o ${.TARGET} ${.TARGET}.o 361.1Sjoerg rm -f ${.TARGET}.o 371.1Sjoerg.if ${MKSTRIPIDENT} != "no" 381.1Sjoerg ${OBJCOPY} -R .ident ${.TARGET} 391.1Sjoerg.endif 401.1Sjoerg 411.10Smatt.if exists(${ARCHDIR}/crtbegin.S) 421.10SmattcrtbeginS.o: crtbegin.S 431.8Smatt ${_MKTARGET_COMPILE} 441.19Suwe ${COMPILE.S} ${PICFLAGS} -DSHARED ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o 451.8Smatt.else 461.10SmattcrtbeginS.o: crtbegin.c crtbegin.h 471.1Sjoerg ${_MKTARGET_COMPILE} 481.19Suwe ${COMPILE.c} ${PICFLAGS} -DSHARED ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o 491.8Smatt.endif 501.1Sjoerg ${LD} -x -r -o ${.TARGET} ${.TARGET}.o 511.1Sjoerg rm -f ${.TARGET}.o 521.1Sjoerg.if ${MKSTRIPIDENT} != "no" 531.1Sjoerg ${OBJCOPY} -R .ident ${.TARGET} 541.1Sjoerg.endif 551.1Sjoerg 561.1Sjoergcrtend.o: crtend.S 571.1Sjoerg ${_MKTARGET_COMPILE} 581.2Sjoerg ${COMPILE.S} ${ARCHDIR}/crtend.S -o ${.TARGET}.o 591.1Sjoerg ${LD} -x -r -o ${.TARGET} ${.TARGET}.o 601.1Sjoerg rm -f ${.TARGET}.o 611.1Sjoerg.if ${MKSTRIPIDENT} != "no" 621.1Sjoerg ${OBJCOPY} -R .ident ${.TARGET} 631.1Sjoerg.endif 641.1Sjoerg 651.1Sjoerg.if ${MKPIC} != "no" 661.18SjoergMY_PICFLAGS= ${PICFLAGS} 671.1Sjoerg.else 681.18SjoergMY_PICFLAGS= 691.1Sjoerg.endif 701.1Sjoerg 711.6Suwecrt0.o: crt0.S crt0-common.c 721.1Sjoerg ${_MKTARGET_COMPILE} 731.6Suwe ${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o 741.18Sjoerg ${COMPILE.c} ${MY_PICFLAGS} ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o 751.6Suwe ${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o 761.6Suwe rm -f ${.TARGET}.S.o ${.TARGET}.c.o 771.1Sjoerg.if ${MKSTRIPIDENT} != "no" 781.1Sjoerg ${OBJCOPY} -R .ident ${.TARGET} 791.1Sjoerg.endif 801.1Sjoerg 811.6Suwegcrt0.o: crt0.S crt0-common.c 821.1Sjoerg ${_MKTARGET_COMPILE} 831.6Suwe ${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o 841.18Sjoerg ${COMPILE.c} ${MY_PICFLAGS} -DMCRT0 ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o 851.6Suwe ${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o 861.6Suwe rm -f ${.TARGET}.S.o ${.TARGET}.c.o 871.1Sjoerg.if ${MKSTRIPIDENT} != "no" 881.1Sjoerg ${OBJCOPY} -R .ident ${.TARGET} 891.1Sjoerg.endif 901.1Sjoerg 911.16Smatt.if ${MACHINE_ARCH} == "alpha" 921.16Smatt# can't do this in Makefile.inc otherwise it will before realall: 931.16Smattcrtfm.o: crtfm.c 941.16Smatt ${_MKTARGET_COMPILE} 951.16Smatt ${COMPILE.c} ${.ALLSRC} -o ${.TARGET}.o 961.16Smatt ${LD} -x -r -o ${.TARGET} ${.TARGET}.o 971.16Smatt rm -f ${.TARGET}.o 981.16Smatt.endif 991.16Smatt 1001.17SmattGENASSYM_CONF= ${COMMON_DIR}/sysident_assym.cf 1011.20Sjoergsysident_assym.h: ${GENASSYM_CONF} ${GENASSYM_EXTRAS} ${NETBSDSRCDIR}/sys/sys/param.h 1021.1Sjoerg ${_MKTARGET_CREATE} 1031.1Sjoerg cat ${COMMON_DIR}/sysident_assym.cf | \ 1041.7Sjoerg ${TOOL_GENASSYM} -- ${CC} ${CFLAGS:N-Wa,*} ${CPPFLAGS} ${PROF} \ 1051.1Sjoerg > sysident_assym.h.tmp && \ 1061.1Sjoerg mv -f sysident_assym.h.tmp sysident_assym.h 1071.1Sjoerg 1081.1SjoergCLEANFILES+= sysident_assym.h 1091.1Sjoerg 1101.17Smattcrti.o: crti.S sysident_assym.h sysident.S 1111.1Sjoergcrtn.o: crtn.S 1121.1Sjoerg 1131.1SjoergFILES=${OBJS} 1141.1SjoergFILESDIR=${LIBDIR} 1151.1SjoergCLEANFILES+=${OBJS} 1161.13Sjoerg 1171.13Sjoerg.if ${MKPIC} == "yes" 1181.1SjoergSYMLINKS+= crtbegin.o ${LIBDIR}/crtbeginT.o 1191.1SjoergSYMLINKS+= crtend.o ${LIBDIR}/crtendS.o 1201.13Sjoerg.endif 1211.1Sjoerg 1221.1Sjoerg.include <bsd.prog.mk> 123