6dba3a7439
things like the .note.netbsd.ident section are provided by crti/crtn. crti/crtn also provide the _init() and _fini() routines. crtbegin/crtend now only provide support for ctors/dtors. This paves the way to using the "crtstuff" provided with GCC (when we upgrade to GCC 3.3), which provides, among other things, much better C++/Java exception handling.
81 lines
2.0 KiB
Makefile
81 lines
2.0 KiB
Makefile
# $NetBSD: Makefile.inc,v 1.19 2002/11/22 06:44:58 thorpej Exp $
|
|
|
|
.include <bsd.own.mk>
|
|
|
|
.if !defined(ELFSIZE)
|
|
ELFSIZE=32
|
|
.endif
|
|
|
|
.include "../../Makefile.inc"
|
|
|
|
CPPFLAGS+= -DLIBC_SCCS -DPIC -DDYNAMIC -DELFSIZE=${ELFSIZE}
|
|
CPPFLAGS+= -I${NETBSDSRCDIR}/libexec/ld.elf_so
|
|
CPPFLAGS+= -I${.CURDIR}/../common_elf
|
|
CPPFLAGS+= -I${NETBSDSRCDIR}/lib/libc/dlfcn
|
|
CPPFLAGS+= -DDWARF2_EH
|
|
CPPFLAGS+= -DJCR
|
|
CPPFLAGS+= -DDSO_HANDLE
|
|
|
|
.PATH: ${.CURDIR}/../common_elf
|
|
|
|
OBJS+= crt0.o gcrt0.o crti.o crtbegin.o crtend.o crtn.o
|
|
.if ${MKPIC} != "no"
|
|
OBJS+= crtbeginS.o crtendS.o
|
|
COPTS+= -fPIC
|
|
.endif
|
|
|
|
realall: ${OBJS}
|
|
|
|
crt0.o: crt0.c
|
|
@echo "${COMPILE.c} -DCRT0 ${.ALLSRC} -o ${.TARGET}"
|
|
@${COMPILE.c} -DCRT0 ${.ALLSRC} -o ${.TARGET}.o
|
|
@${LD} -x -r -o ${.TARGET} ${.TARGET}.o
|
|
@rm -f ${.TARGET}.o
|
|
|
|
gcrt0.o: crt0.c
|
|
@echo "${COMPILE.c} -DMCRT0 ${.ALLSRC} -o ${.TARGET}"
|
|
@${COMPILE.c} -DMCRT0 ${.ALLSRC} -o ${.TARGET}.o
|
|
@${LD} -x -r -o ${.TARGET} ${.TARGET}.o
|
|
@rm -f ${.TARGET}.o
|
|
|
|
crtbegin.o: crtbegin.c
|
|
@echo "${COMPILE.c} ${.ALLSRC} -o ${.TARGET}"
|
|
@${COMPILE.c} ${.ALLSRC} -o ${.TARGET}.o
|
|
@${LD} -X -r -o ${.TARGET} ${.TARGET}.o
|
|
@rm -f ${.TARGET}.o
|
|
|
|
crtbeginS.o: crtbegin.c
|
|
@echo "${COMPILE.c} -DSHARED ${.ALLSRC} -o ${.TARGET}"
|
|
@${COMPILE.c} -DSHARED ${.ALLSRC} -o ${.TARGET}.o
|
|
@${LD} -X -r -o ${.TARGET} ${.TARGET}.o
|
|
@rm -f ${.TARGET}.o
|
|
|
|
crtend.o: crtend.c
|
|
@echo "${COMPILE.c} ${.ALLSRC} -o ${.TARGET}"
|
|
@${COMPILE.c} ${.ALLSRC} -o ${.TARGET}.o
|
|
@${LD} -X -r -o ${.TARGET} ${.TARGET}.o
|
|
@rm -f ${.TARGET}.o
|
|
|
|
crtendS.o: crtend.c
|
|
@echo "${COMPILE.c} -DSHARED ${.ALLSRC} -o ${.TARGET}"
|
|
@${COMPILE.c} -DSHARED ${.ALLSRC} -o ${.TARGET}.o
|
|
@${LD} -X -r -o ${.TARGET} ${.TARGET}.o
|
|
@rm -f ${.TARGET}.o
|
|
|
|
crti.o: crti.c
|
|
@echo "${COMPILE.c} ${.ALLSRC} -o ${.TARGET}"
|
|
@${COMPILE.c} ${.ALLSRC} -o ${.TARGET}.o
|
|
@${LD} -X -r -o ${.TARGET} ${.TARGET}.o
|
|
@rm -f ${.TARGET}.o
|
|
|
|
crtn.o: crtn.c
|
|
@echo "${COMPILE.c} ${.ALLSRC} -o ${.TARGET}"
|
|
@${COMPILE.c} ${.ALLSRC} -o ${.TARGET}.o
|
|
@${LD} -X -r -o ${.TARGET} ${.TARGET}.o
|
|
@rm -f ${.TARGET}.o
|
|
|
|
FILES=${OBJS}
|
|
FILESDIR=${LIBDIR}
|
|
|
|
.include <bsd.prog.mk>
|