Home | History | Annotate | Line # | Download | only in crtstuff
Makefile revision 1.4
      1  1.4  mrg #	$NetBSD: Makefile,v 1.4 2011/07/01 01:24:53 mrg Exp $
      2  1.1  mrg 
      3  1.1  mrg REQUIRETOOLS=	yes
      4  1.1  mrg NOLINT=		# defined
      5  1.1  mrg 
      6  1.1  mrg .include <bsd.own.mk>
      7  1.1  mrg 
      8  1.1  mrg # If using an external toolchain, we expect crtbegin/crtend to be
      9  1.1  mrg # supplied by that toolchain's run-time support.
     10  1.1  mrg .if !defined(EXTERNAL_TOOLCHAIN) && ${MKGCC} != "no"
     11  1.1  mrg 
     12  1.2  mrg DIST=		${NETBSDSRCDIR}/external/gpl3/gcc/dist
     13  1.1  mrg GNUHOSTDIST=	${DIST}
     14  1.2  mrg GCCARCH=	${NETBSDSRCDIR}/external/gpl3/gcc/usr.bin/gcc/arch/${MACHINE_ARCH}
     15  1.1  mrg 
     16  1.1  mrg GALLCFLAGS=	${G_CRTSTUFF_CFLAGS} ${G_CRTSTUFF_T_CFLAGS}
     17  1.1  mrg 
     18  1.1  mrg CPPFLAGS+=	-I${GCCARCH} ${GALLCFLAGS:M-D*} ${GALLCFLAGS:M-I*:N-I.*}
     19  1.1  mrg CPPFLAGS+=	-I.
     20  1.3  mrg COPTS+=		-finhibit-size-directive \
     21  1.3  mrg 		-fno-inline \
     22  1.3  mrg 		-fno-exceptions \
     23  1.3  mrg 		-fno-zero-initialized-in-bss \
     24  1.3  mrg 		-fno-toplevel-reorder \
     25  1.3  mrg 		-fno-tree-vectorize \
     26  1.3  mrg 		-fno-omit-frame-pointer \
     27  1.3  mrg 		-fno-asynchronous-unwind-tables
     28  1.1  mrg 
     29  1.1  mrg GCFLAGS=	${GALLCFLAGS:N-D*:N-I*:N-i*:N./*}
     30  1.1  mrg 
     31  1.1  mrg DPSRCS+=	${.CURDIR}/arch/${MACHINE_ARCH}.mk tconfig.h
     32  1.1  mrg 
     33  1.1  mrg .include "${.CURDIR}/arch/${MACHINE_ARCH}.mk"
     34  1.1  mrg 
     35  1.1  mrg SRCS+=		crtbegin.c crtend.c
     36  1.1  mrg OBJS+=		crtbegin.o crtend.o
     37  1.1  mrg .if ${MKPIC} != "no"
     38  1.1  mrg SRCS+=		crtbeginS.c crtendS.c
     39  1.1  mrg OBJS+=		crtbeginS.o crtendS.o	# for shared libraries
     40  1.3  mrg CPPFLAGS.crtbeginS.o+=	-fPIC -DPIC
     41  1.3  mrg CPPFLAGS.crtendS.o+=	-fPIC -DPIC
     42  1.1  mrg SRCS+=		crtbeginT.c
     43  1.1  mrg OBJS+=		crtbeginT.o		# for -static links
     44  1.1  mrg .endif
     45  1.1  mrg 
     46  1.1  mrg realall: ${OBJS}
     47  1.1  mrg 
     48  1.1  mrg FILES=${OBJS}
     49  1.1  mrg FILESDIR=${LIBDIR}
     50  1.1  mrg 
     51  1.1  mrg .PATH: ${DIST}/gcc ${DIST}/gcc/config ${G_CONFIGDIR}
     52  1.1  mrg 
     53  1.3  mrg .include "../Makefile.tconfigh"
     54  1.4  mrg .include "../Makefile.hacks"
     55  1.1  mrg 
     56  1.1  mrg ${OBJS}: ${DPSRCS}
     57  1.1  mrg 
     58  1.1  mrg .include <bsd.prog.mk>
     59  1.1  mrg 
     60  1.1  mrg # Override the default .c -> .o rule.
     61  1.1  mrg .c.o:
     62  1.1  mrg 	${_MKTARGET_COMPILE}
     63  1.3  mrg 	${CC} ${CPPFLAGS} ${CPPFLAGS.${.TARGET}} ${GCFLAGS} ${CPUFLAGS} -c ${.IMPSRC} -o ${.TARGET}.o
     64  1.1  mrg 	mv ${.TARGET}.o ${.TARGET}
     65  1.1  mrg 
     66  1.1  mrg .if (${MACHINE_ARCH} == "mips64eb") || (${MACHINE_ARCH} == "mips64el")
     67  1.1  mrg # Turn off as(1) warnings on MIPS, since warnings are fatal with WARNS>0
     68  1.1  mrg # and GCC configury passes -finhibit-size-directive which causes mips-gas
     69  1.1  mrg # to barf.  Don't know what the real fix for this is...
     70  1.1  mrg #
     71  1.1  mrg # XXX should be COPTS, but that's too early
     72  1.1  mrg CPUFLAGS+=-Wa,--no-warn
     73  1.1  mrg .endif
     74  1.1  mrg 
     75  1.1  mrg .else
     76  1.1  mrg 
     77  1.1  mrg .include <bsd.prog.mk>			# do nothing
     78  1.1  mrg 
     79  1.1  mrg .endif	# ! EXTERNAL_TOOLCHAIN && MKGCC != no
     80