Makefile.inc revision 1.14
1# $NetBSD: Makefile.inc,v 1.14 2013/07/17 14:23:45 martin Exp $ 2 3.include <bsd.own.mk> 4 5COMMON_DIR:= ${.CURDIR}/common 6.PATH: ${COMMON_DIR} 7 8CPPFLAGS+= -I${NETBSDSRCDIR}/libexec/ld.elf_so -I${COMMON_DIR} -I. 9 10OBJS+= crt0.o gcrt0.o crti.o crtn.o 11OBJS+= crtbegin.o crtend.o 12 13.if ${MKPIC} == "yes" 14OBJS+= crtbeginS.o 15.endif 16 17realall: ${OBJS} 18 19.if exists(${ARCHDIR}/crtbegin.S) 20crtbegin.o: crtbegin.S 21 ${_MKTARGET_COMPILE} 22 ${COMPILE.S} ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o 23.else 24crtbegin.o: crtbegin.c crtbegin.h 25 ${_MKTARGET_COMPILE} 26 ${COMPILE.c} -fPIE ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o 27.endif 28 ${LD} -x -r -o ${.TARGET} ${.TARGET}.o 29 rm -f ${.TARGET}.o 30.if ${MKSTRIPIDENT} != "no" 31 ${OBJCOPY} -R .ident ${.TARGET} 32.endif 33 34.if exists(${ARCHDIR}/crtbegin.S) 35crtbeginS.o: crtbegin.S 36 ${_MKTARGET_COMPILE} 37 ${COMPILE.S} -DPIC -DSHARED ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o 38.else 39crtbeginS.o: crtbegin.c crtbegin.h 40 ${_MKTARGET_COMPILE} 41 ${COMPILE.c} -fPIC -DPIC -DSHARED ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o 42.endif 43 ${LD} -x -r -o ${.TARGET} ${.TARGET}.o 44 rm -f ${.TARGET}.o 45.if ${MKSTRIPIDENT} != "no" 46 ${OBJCOPY} -R .ident ${.TARGET} 47.endif 48 49crtend.o: crtend.S 50 ${_MKTARGET_COMPILE} 51 ${COMPILE.S} ${ARCHDIR}/crtend.S -o ${.TARGET}.o 52 ${LD} -x -r -o ${.TARGET} ${.TARGET}.o 53 rm -f ${.TARGET}.o 54.if ${MKSTRIPIDENT} != "no" 55 ${OBJCOPY} -R .ident ${.TARGET} 56.endif 57 58.if ${MKPIC} != "no" 59PICFLAGS= -fPIC 60.else 61PICFLAGS= 62.endif 63 64crt0.o: crt0.S crt0-common.c 65 ${_MKTARGET_COMPILE} 66 ${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o 67 ${COMPILE.c} ${PICFLAGS} ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o 68 ${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o 69 rm -f ${.TARGET}.S.o ${.TARGET}.c.o 70.if ${MKSTRIPIDENT} != "no" 71 ${OBJCOPY} -R .ident ${.TARGET} 72.endif 73 74gcrt0.o: crt0.S crt0-common.c 75 ${_MKTARGET_COMPILE} 76 ${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o 77 ${COMPILE.c} ${PICFLAGS} -DMCRT0 ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o 78 ${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o 79 rm -f ${.TARGET}.S.o ${.TARGET}.c.o 80.if ${MKSTRIPIDENT} != "no" 81 ${OBJCOPY} -R .ident ${.TARGET} 82.endif 83 84sysident_assym.h: ${GENASSYM_CONF} ${GENASSYM_EXTRAS} 85 ${_MKTARGET_CREATE} 86 cat ${COMMON_DIR}/sysident_assym.cf | \ 87 ${TOOL_GENASSYM} -- ${CC} ${CFLAGS:N-Wa,*} ${CPPFLAGS} ${PROF} \ 88 > sysident_assym.h.tmp && \ 89 mv -f sysident_assym.h.tmp sysident_assym.h 90 91CLEANFILES+= sysident_assym.h 92 93crti.o: crti.S sysident_assym.h 94crtn.o: crtn.S 95 96FILES=${OBJS} 97FILESDIR=${LIBDIR} 98CLEANFILES+=${OBJS} 99 100.if ${MKPIC} == "yes" 101SYMLINKS+= crtbegin.o ${LIBDIR}/crtbeginT.o 102SYMLINKS+= crtend.o ${LIBDIR}/crtendS.o 103.endif 104 105.include <bsd.prog.mk> 106