1# $FreeBSD$ 2 3.include <src.opts.mk> 4MK_SSP= no 5 6GCCDIR= ${.CURDIR}/../../../contrib/gcc 7GCCLIB= ${.CURDIR}/../../../contrib/gcclibs 8CCDIR= ${.CURDIR}/../../usr.bin/cc 9.include "${CCDIR}/Makefile.tgt" 10 11.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR} 12 13SRCS= crtstuff.c tconfig.h tm.h options.h 14OBJS= crtbegin.o crtend.o crtbeginT.o 15SOBJS= crtbeginS.o crtendS.o 16CSTD?= gnu89 17CFLAGS+= -DIN_GCC -DHAVE_LD_EH_FRAME_HDR -DDT_CONFIG -D__GLIBC__=3 18CFLAGS.gcc+= -finhibit-size-directive -fno-toplevel-reorder 19CFLAGS+= -fno-inline-functions -fno-exceptions \ 20 -fno-zero-initialized-in-bss -fno-asynchronous-unwind-tables \ 21 -fno-omit-frame-pointer 22CFLAGS+= -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. \ 23 -I${CCDIR}/cc_tools 24CRTS_CFLAGS= -DCRTSTUFFS_O -DSHARED ${PICFLAG} 25 26.if ${TARGET_CPUARCH} == "arm" 27CFLAGS+= -DTARGET_ARM_EABI 28.endif 29 30.if ${MACHINE_CPUARCH} == "powerpc" 31TGTOBJS= crtsavres.o 32SRCS+= crtsavres.asm 33.endif 34.if ${MACHINE_CPUARCH} == "sparc64" 35TGTOBJS= crtfastmath.o 36SRCS+= crtfastmath.c 37.endif 38BEGINSRC?= crtstuff.c 39ENDSRC?= crtstuff.c 40 41FILES= ${OBJS} ${SOBJS} ${TGTOBJS} 42FILESMODE= ${LIBMODE} 43FILESOWN= ${LIBOWN} 44FILESGRP= ${LIBGRP} 45FILESDIR= ${LIBDIR} 46# These FILES qualify as libraries for the purpose of LIBRARIES_ONLY. 47.undef LIBRARIES_ONLY 48 49${OBJS} ${SOBJS}: ${SRCS:M*.h} 50 51CLEANFILES= ${OBJS} ${SOBJS} ${TGTOBJS} 52 53crtbegin.o: ${BEGINSRC} 54 ${CC} ${CFLAGS} -g0 -DCRT_BEGIN \ 55 -c -o ${.TARGET} ${.ALLSRC:N*.h} 56 57crtbeginT.o: ${BEGINSRC} 58 ${CC} ${CFLAGS} -g0 -DCRT_BEGIN -DCRTSTUFFT_O \ 59 -c -o ${.TARGET} ${.ALLSRC:N*.h} 60 61crtbeginS.o: ${BEGINSRC} 62 ${CC} ${CFLAGS} -g0 -DCRT_BEGIN ${CRTS_CFLAGS} \ 63 -c -o ${.TARGET} ${.ALLSRC:N*.h} 64 65crtend.o: ${ENDSRC} 66 ${CC} ${CFLAGS} -g0 -DCRT_END \ 67 -c -o ${.TARGET} ${.ALLSRC:N*.h} 68 69crtendS.o: ${ENDSRC} 70 ${CC} ${CFLAGS} -g0 -DCRT_END ${CRTS_CFLAGS} \ 71 -c -o ${.TARGET} ${.ALLSRC:N*.h} 72 73CLEANFILES+= tm.h tconfig.h options.h optionlist cs-tconfig.h cs-tm.h 74tm.h tconfig.h options.h: ${CCDIR}/cc_tools/Makefile .PHONY 75 (cd ${.CURDIR}; ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}) 76 77.include <bsd.lib.mk> 78