Home | History | Annotate | Line # | Download | only in crtstuff
Makefile revision 1.2
      1  1.2  mrg #	$NetBSD: Makefile,v 1.2 2011/06/23 11:47:12 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.1  mrg 
     21  1.1  mrg GCFLAGS=	${GALLCFLAGS:N-D*:N-I*:N-i*:N./*}
     22  1.1  mrg 
     23  1.1  mrg DPSRCS+=	${.CURDIR}/arch/${MACHINE_ARCH}.mk tconfig.h
     24  1.1  mrg CLEANFILES+=	cs-tconfig.h tconfig.h
     25  1.1  mrg 
     26  1.1  mrg .include "${.CURDIR}/arch/${MACHINE_ARCH}.mk"
     27  1.1  mrg 
     28  1.1  mrg SRCS+=		crtbegin.c crtend.c
     29  1.1  mrg OBJS+=		crtbegin.o crtend.o
     30  1.1  mrg .if ${MKPIC} != "no"
     31  1.1  mrg SRCS+=		crtbeginS.c crtendS.c
     32  1.1  mrg OBJS+=		crtbeginS.o crtendS.o	# for shared libraries
     33  1.1  mrg SRCS+=		crtbeginT.c
     34  1.1  mrg OBJS+=		crtbeginT.o		# for -static links
     35  1.1  mrg .endif
     36  1.1  mrg 
     37  1.1  mrg realall: ${OBJS}
     38  1.1  mrg 
     39  1.1  mrg FILES=${OBJS}
     40  1.1  mrg FILESDIR=${LIBDIR}
     41  1.1  mrg 
     42  1.1  mrg .PATH: ${DIST}/gcc ${DIST}/gcc/config ${G_CONFIGDIR}
     43  1.1  mrg 
     44  1.1  mrg tconfig.h:
     45  1.1  mrg 	${_MKTARGET_CREATE}
     46  1.1  mrg 	TM_DEFINES="$(G_tm_defines)" \
     47  1.1  mrg 	HEADERS="$(G_xm_file)" XM_DEFINES="$(G_xm_defines)" \
     48  1.1  mrg 	TARGET_CPU_DEFAULT="" \
     49  1.1  mrg 	${HOST_SH} $(GNUHOSTDIST)/gcc/mkconfig.sh tconfig.h
     50  1.1  mrg 
     51  1.1  mrg # these aren't necessary but are #include'd
     52  1.1  mrg FAKEHEADERS=options.h insn-flags.h insn-constants.h
     53  1.1  mrg ${FAKEHEADERS}:
     54  1.1  mrg 	${_MKTARGET_CREATE}
     55  1.1  mrg 	touch ${.TARGET}
     56  1.1  mrg DPSRCS+=	${FAKEHEADERS}
     57  1.1  mrg CLEANFILES+=	${FAKEHEADERS}
     58  1.1  mrg 
     59  1.1  mrg ${OBJS}: ${DPSRCS}
     60  1.1  mrg 
     61  1.1  mrg .include <bsd.prog.mk>
     62  1.1  mrg 
     63  1.1  mrg # Override the default .c -> .o rule.
     64  1.1  mrg .c.o:
     65  1.1  mrg 	${_MKTARGET_COMPILE}
     66  1.1  mrg 	${CC} ${CPPFLAGS} ${GCFLAGS} ${CPUFLAGS} -c ${.IMPSRC} -o ${.TARGET}.o
     67  1.1  mrg 	mv ${.TARGET}.o ${.TARGET}
     68  1.1  mrg 
     69  1.1  mrg .if (${MACHINE_ARCH} == "mips64eb") || (${MACHINE_ARCH} == "mips64el")
     70  1.1  mrg # Turn off as(1) warnings on MIPS, since warnings are fatal with WARNS>0
     71  1.1  mrg # and GCC configury passes -finhibit-size-directive which causes mips-gas
     72  1.1  mrg # to barf.  Don't know what the real fix for this is...
     73  1.1  mrg #
     74  1.1  mrg # XXX should be COPTS, but that's too early
     75  1.1  mrg CPUFLAGS+=-Wa,--no-warn
     76  1.1  mrg .endif
     77  1.1  mrg 
     78  1.1  mrg .else
     79  1.1  mrg 
     80  1.1  mrg .include <bsd.prog.mk>			# do nothing
     81  1.1  mrg 
     82  1.1  mrg .endif	# ! EXTERNAL_TOOLCHAIN && MKGCC != no
     83