Makefile.inc revision 1.8
11.8Smatt#	$NetBSD: Makefile.inc,v 1.8 2013/06/22 02:21:58 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.1SjoergOBJS+=		crtbegin.o crtbeginS.o crtend.o
121.1Sjoerg
131.1Sjoergrealall: ${OBJS}
141.1Sjoerg
151.8Smatt.if exists(${ARCHDIR}/crtbegin.c)
161.8Smattcrtbegin.o: crtbegin.c
171.8Smatt	${_MKTARGET_COMPILE}
181.8Smatt	${COMPILE.c} ${ARCHDIR}/crtbegin.c -o ${.TARGET}.o
191.8Smatt.else
201.1Sjoergcrtbegin.o: crtbegin.S
211.1Sjoerg	${_MKTARGET_COMPILE}
221.2Sjoerg	${COMPILE.S} ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o
231.8Smatt.endif
241.1Sjoerg	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
251.1Sjoerg	rm -f ${.TARGET}.o
261.1Sjoerg.if ${MKSTRIPIDENT} != "no"
271.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
281.1Sjoerg.endif
291.1Sjoerg
301.8Smatt.if exists(${ARCHDIR}/crtbegin.c)
311.8SmattcrtbeginS.o: crtbegin.c
321.8Smatt	${_MKTARGET_COMPILE}
331.8Smatt	${COMPILE.c} -DPIC -DSHARED ${ARCHDIR}/crtbegin.c -o ${.TARGET}.o
341.8Smatt.else
351.1SjoergcrtbeginS.o: crtbegin.S
361.1Sjoerg	${_MKTARGET_COMPILE}
371.4Suwe	${COMPILE.S} -DPIC -DSHARED ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o
381.8Smatt.endif
391.1Sjoerg	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
401.1Sjoerg	rm -f ${.TARGET}.o
411.1Sjoerg.if ${MKSTRIPIDENT} != "no"
421.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
431.1Sjoerg.endif
441.1Sjoerg
451.1Sjoergcrtend.o: crtend.S
461.1Sjoerg	${_MKTARGET_COMPILE}
471.2Sjoerg	${COMPILE.S} ${ARCHDIR}/crtend.S -o ${.TARGET}.o
481.1Sjoerg	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
491.1Sjoerg	rm -f ${.TARGET}.o
501.1Sjoerg.if ${MKSTRIPIDENT} != "no"
511.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
521.1Sjoerg.endif
531.1Sjoerg
541.1Sjoerg.if ${MKPIC} != "no"
551.1SjoergPICFLAGS=	-fPIC
561.1Sjoerg.else
571.1SjoergPICFLAGS=
581.1Sjoerg.endif
591.1Sjoerg
601.6Suwecrt0.o: crt0.S crt0-common.c
611.1Sjoerg	${_MKTARGET_COMPILE}
621.6Suwe	${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o
631.1Sjoerg	${COMPILE.c} ${PICFLAGS} ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o
641.6Suwe	${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o
651.6Suwe	rm -f ${.TARGET}.S.o ${.TARGET}.c.o
661.1Sjoerg.if ${MKSTRIPIDENT} != "no"
671.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
681.1Sjoerg.endif
691.1Sjoerg
701.6Suwegcrt0.o: crt0.S crt0-common.c
711.1Sjoerg	${_MKTARGET_COMPILE}
721.6Suwe	${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o
731.1Sjoerg	${COMPILE.c} ${PICFLAGS} -DMCRT0 ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o
741.6Suwe	${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o
751.6Suwe	rm -f ${.TARGET}.S.o ${.TARGET}.c.o
761.1Sjoerg.if ${MKSTRIPIDENT} != "no"
771.1Sjoerg	${OBJCOPY} -R .ident ${.TARGET}
781.1Sjoerg.endif
791.1Sjoerg
801.1Sjoergsysident_assym.h: ${GENASSYM_CONF} ${GENASSYM_EXTRAS}
811.1Sjoerg	${_MKTARGET_CREATE}
821.1Sjoerg	cat ${COMMON_DIR}/sysident_assym.cf | \
831.7Sjoerg	    ${TOOL_GENASSYM} -- ${CC} ${CFLAGS:N-Wa,*} ${CPPFLAGS} ${PROF} \
841.1Sjoerg	    > sysident_assym.h.tmp && \
851.1Sjoerg	mv -f sysident_assym.h.tmp sysident_assym.h
861.1Sjoerg
871.1SjoergCLEANFILES+=	sysident_assym.h
881.1Sjoerg
891.1Sjoergcrti.o: crti.S sysident_assym.h
901.1Sjoergcrtn.o: crtn.S
911.1Sjoerg
921.1SjoergFILES=${OBJS}
931.1SjoergFILESDIR=${LIBDIR}
941.1SjoergCLEANFILES+=${OBJS}
951.1SjoergSYMLINKS+=	crtbegin.o ${LIBDIR}/crtbeginT.o
961.1SjoergSYMLINKS+=	crtend.o ${LIBDIR}/crtendS.o
971.1Sjoerg
981.1Sjoerg.include <bsd.prog.mk>
99