Makefile.inc revision 1.15
11.15Smatt#	$NetBSD: Makefile.inc,v 1.15 2013/07/18 18:43:56 matt Exp $
21.1Sjoerg
31.1Sjoerg.include <bsd.own.mk>
41.1Sjoerg
51.3SdrochnerCOMMON_DIR:=	${.CURDIR}/common
61.1Sjoerg.PATH:		${COMMON_DIR}
71.1Sjoerg
81.1SjoergCPPFLAGS+=	-I${NETBSDSRCDIR}/libexec/ld.elf_so -I${COMMON_DIR} -I.
91.1Sjoerg
101.1SjoergOBJS+=		crt0.o gcrt0.o crti.o crtn.o
111.13SjoergOBJS+=		crtbegin.o crtend.o
121.13Sjoerg
131.13Sjoerg.if ${MKPIC} == "yes"
141.13SjoergOBJS+=		crtbeginS.o
151.15SmattCFLAGS.crtbegin.c+= -fPIE
161.13Sjoerg.endif
171.1Sjoerg
181.1Sjoergrealall: ${OBJS}
191.1Sjoerg
201.10Smatt.if exists(${ARCHDIR}/crtbegin.S)
211.10Smattcrtbegin.o: crtbegin.S
221.8Smatt	${_MKTARGET_COMPILE}
231.10Smatt	${COMPILE.S} ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o
241.8Smatt.else
251.10Smattcrtbegin.o: crtbegin.c crtbegin.h
261.1Sjoerg	${_MKTARGET_COMPILE}
271.15Smatt	${COMPILE.c} ${CFLAGS.crtbegin.c} ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o
281.8Smatt.endif
291.1Sjoerg	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
301.1Sjoerg	rm -f ${.TARGET}.o
311.1Sjoerg.if ${MKSTRIPIDENT} != "no"
321.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
331.1Sjoerg.endif
341.1Sjoerg
351.10Smatt.if exists(${ARCHDIR}/crtbegin.S)
361.10SmattcrtbeginS.o: crtbegin.S
371.8Smatt	${_MKTARGET_COMPILE}
381.10Smatt	${COMPILE.S} -DPIC -DSHARED ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o
391.8Smatt.else
401.10SmattcrtbeginS.o: crtbegin.c crtbegin.h
411.1Sjoerg	${_MKTARGET_COMPILE}
421.11Smatt	${COMPILE.c} -fPIC -DPIC -DSHARED ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o
431.8Smatt.endif
441.1Sjoerg	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
451.1Sjoerg	rm -f ${.TARGET}.o
461.1Sjoerg.if ${MKSTRIPIDENT} != "no"
471.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
481.1Sjoerg.endif
491.1Sjoerg
501.1Sjoergcrtend.o: crtend.S
511.1Sjoerg	${_MKTARGET_COMPILE}
521.2Sjoerg	${COMPILE.S} ${ARCHDIR}/crtend.S -o ${.TARGET}.o
531.1Sjoerg	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
541.1Sjoerg	rm -f ${.TARGET}.o
551.1Sjoerg.if ${MKSTRIPIDENT} != "no"
561.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
571.1Sjoerg.endif
581.1Sjoerg
591.1Sjoerg.if ${MKPIC} != "no"
601.1SjoergPICFLAGS=	-fPIC
611.1Sjoerg.else
621.1SjoergPICFLAGS=
631.1Sjoerg.endif
641.1Sjoerg
651.6Suwecrt0.o: crt0.S crt0-common.c
661.1Sjoerg	${_MKTARGET_COMPILE}
671.6Suwe	${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o
681.1Sjoerg	${COMPILE.c} ${PICFLAGS} ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o
691.6Suwe	${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o
701.6Suwe	rm -f ${.TARGET}.S.o ${.TARGET}.c.o
711.1Sjoerg.if ${MKSTRIPIDENT} != "no"
721.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
731.1Sjoerg.endif
741.1Sjoerg
751.6Suwegcrt0.o: crt0.S crt0-common.c
761.1Sjoerg	${_MKTARGET_COMPILE}
771.6Suwe	${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o
781.1Sjoerg	${COMPILE.c} ${PICFLAGS} -DMCRT0 ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o
791.6Suwe	${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o
801.6Suwe	rm -f ${.TARGET}.S.o ${.TARGET}.c.o
811.1Sjoerg.if ${MKSTRIPIDENT} != "no"
821.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
831.1Sjoerg.endif
841.1Sjoerg
851.1Sjoergsysident_assym.h: ${GENASSYM_CONF} ${GENASSYM_EXTRAS}
861.1Sjoerg	${_MKTARGET_CREATE}
871.1Sjoerg	cat ${COMMON_DIR}/sysident_assym.cf | \
881.7Sjoerg	    ${TOOL_GENASSYM} -- ${CC} ${CFLAGS:N-Wa,*} ${CPPFLAGS} ${PROF} \
891.1Sjoerg	    > sysident_assym.h.tmp && \
901.1Sjoerg	mv -f sysident_assym.h.tmp sysident_assym.h
911.1Sjoerg
921.1SjoergCLEANFILES+=	sysident_assym.h
931.1Sjoerg
941.1Sjoergcrti.o: crti.S sysident_assym.h
951.1Sjoergcrtn.o: crtn.S
961.1Sjoerg
971.1SjoergFILES=${OBJS}
981.1SjoergFILESDIR=${LIBDIR}
991.1SjoergCLEANFILES+=${OBJS}
1001.13Sjoerg
1011.13Sjoerg.if ${MKPIC} == "yes"
1021.1SjoergSYMLINKS+=	crtbegin.o ${LIBDIR}/crtbeginT.o
1031.1SjoergSYMLINKS+=	crtend.o ${LIBDIR}/crtendS.o
1041.13Sjoerg.endif
1051.1Sjoerg
1061.1Sjoerg.include <bsd.prog.mk>
107