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