Makefile.inc revision 1.13
11.13Sjoerg#	$NetBSD: Makefile.inc,v 1.13 2013/07/05 02:06:49 joerg 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.13Sjoerg.endif
161.1Sjoerg
171.1Sjoergrealall: ${OBJS}
181.1Sjoerg
191.10Smatt.if exists(${ARCHDIR}/crtbegin.S)
201.10Smattcrtbegin.o: crtbegin.S
211.8Smatt	${_MKTARGET_COMPILE}
221.10Smatt	${COMPILE.S} ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o
231.8Smatt.else
241.10Smattcrtbegin.o: crtbegin.c crtbegin.h
251.1Sjoerg	${_MKTARGET_COMPILE}
261.12Smatt	${COMPILE.c} -fpie ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o
271.8Smatt.endif
281.1Sjoerg	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
291.1Sjoerg	rm -f ${.TARGET}.o
301.1Sjoerg.if ${MKSTRIPIDENT} != "no"
311.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
321.1Sjoerg.endif
331.1Sjoerg
341.10Smatt.if exists(${ARCHDIR}/crtbegin.S)
351.10SmattcrtbeginS.o: crtbegin.S
361.8Smatt	${_MKTARGET_COMPILE}
371.10Smatt	${COMPILE.S} -DPIC -DSHARED ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o
381.8Smatt.else
391.10SmattcrtbeginS.o: crtbegin.c crtbegin.h
401.1Sjoerg	${_MKTARGET_COMPILE}
411.11Smatt	${COMPILE.c} -fPIC -DPIC -DSHARED ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o
421.8Smatt.endif
431.1Sjoerg	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
441.1Sjoerg	rm -f ${.TARGET}.o
451.1Sjoerg.if ${MKSTRIPIDENT} != "no"
461.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
471.1Sjoerg.endif
481.1Sjoerg
491.1Sjoergcrtend.o: crtend.S
501.1Sjoerg	${_MKTARGET_COMPILE}
511.2Sjoerg	${COMPILE.S} ${ARCHDIR}/crtend.S -o ${.TARGET}.o
521.1Sjoerg	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
531.1Sjoerg	rm -f ${.TARGET}.o
541.1Sjoerg.if ${MKSTRIPIDENT} != "no"
551.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
561.1Sjoerg.endif
571.1Sjoerg
581.1Sjoerg.if ${MKPIC} != "no"
591.1SjoergPICFLAGS=	-fPIC
601.1Sjoerg.else
611.1SjoergPICFLAGS=
621.1Sjoerg.endif
631.1Sjoerg
641.6Suwecrt0.o: crt0.S crt0-common.c
651.1Sjoerg	${_MKTARGET_COMPILE}
661.6Suwe	${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o
671.1Sjoerg	${COMPILE.c} ${PICFLAGS} ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o
681.6Suwe	${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o
691.6Suwe	rm -f ${.TARGET}.S.o ${.TARGET}.c.o
701.1Sjoerg.if ${MKSTRIPIDENT} != "no"
711.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
721.1Sjoerg.endif
731.1Sjoerg
741.6Suwegcrt0.o: crt0.S crt0-common.c
751.1Sjoerg	${_MKTARGET_COMPILE}
761.6Suwe	${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o
771.1Sjoerg	${COMPILE.c} ${PICFLAGS} -DMCRT0 ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o
781.6Suwe	${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o
791.6Suwe	rm -f ${.TARGET}.S.o ${.TARGET}.c.o
801.1Sjoerg.if ${MKSTRIPIDENT} != "no"
811.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
821.1Sjoerg.endif
831.1Sjoerg
841.1Sjoergsysident_assym.h: ${GENASSYM_CONF} ${GENASSYM_EXTRAS}
851.1Sjoerg	${_MKTARGET_CREATE}
861.1Sjoerg	cat ${COMMON_DIR}/sysident_assym.cf | \
871.7Sjoerg	    ${TOOL_GENASSYM} -- ${CC} ${CFLAGS:N-Wa,*} ${CPPFLAGS} ${PROF} \
881.1Sjoerg	    > sysident_assym.h.tmp && \
891.1Sjoerg	mv -f sysident_assym.h.tmp sysident_assym.h
901.1Sjoerg
911.1SjoergCLEANFILES+=	sysident_assym.h
921.1Sjoerg
931.1Sjoergcrti.o: crti.S sysident_assym.h
941.1Sjoergcrtn.o: crtn.S
951.1Sjoerg
961.1SjoergFILES=${OBJS}
971.1SjoergFILESDIR=${LIBDIR}
981.1SjoergCLEANFILES+=${OBJS}
991.13Sjoerg
1001.13Sjoerg.if ${MKPIC} == "yes"
1011.1SjoergSYMLINKS+=	crtbegin.o ${LIBDIR}/crtbeginT.o
1021.1SjoergSYMLINKS+=	crtend.o ${LIBDIR}/crtendS.o
1031.13Sjoerg.endif
1041.1Sjoerg
1051.1Sjoerg.include <bsd.prog.mk>
106