xref: /freebsd-12.1/gnu/lib/csu/Makefile (revision 6592a716)
13a7789cfSDavid E. O'Brien# $FreeBSD$
23a7789cfSDavid E. O'Brien
3c6063d0dSWarner Losh.include <src.opts.mk>
4d9ca85fcSRuslan ErmilovMK_SSP=		no
5d9ca85fcSRuslan Ermilov
6*ffec3151SWarner LoshGCCDIR=	${SRCTOP}/contrib/gcc
7*ffec3151SWarner LoshGCCLIB=	${SRCTOP}/contrib/gcclibs
8*ffec3151SWarner LoshCCDIR=	${SRCTOP}/gnu/usr.bin/cc
95d8d0d50SDavid E. O'Brien.include "${CCDIR}/Makefile.tgt"
1009fb6bffSBryan Drewery.include "${CCDIR}/cc_tools/Makefile.hdrs"
113a7789cfSDavid E. O'Brien
128c258dc6SPeter Wemm.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}
138c258dc6SPeter Wemm
1409fb6bffSBryan DrewerySRCS=		crtstuff.c ${COMMONHDRS}
15afb57df6SAlexander KabaevOBJS=		crtbegin.o crtend.o crtbeginT.o
16c7a6b091SMarcel MoolenaarSOBJS=		crtbeginS.o crtendS.o
173dca32d8SDavid E. O'BrienCSTD?=		gnu89
18afb57df6SAlexander KabaevCFLAGS+=	-DIN_GCC -DHAVE_LD_EH_FRAME_HDR -DDT_CONFIG -D__GLIBC__=3
19b294993dSDimitry AndricCFLAGS.gcc+=	-finhibit-size-directive -fno-toplevel-reorder
206b1fe0f9SDimitry AndricCFLAGS+=	-fno-inline-functions -fno-exceptions \
216b1fe0f9SDimitry Andric		-fno-zero-initialized-in-bss -fno-asynchronous-unwind-tables \
226b1fe0f9SDimitry Andric		-fno-omit-frame-pointer
23afb57df6SAlexander KabaevCFLAGS+=	-I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. \
245d8d0d50SDavid E. O'Brien		-I${CCDIR}/cc_tools
258c258dc6SPeter WemmCRTS_CFLAGS=	-DCRTSTUFFS_O -DSHARED ${PICFLAG}
263a7789cfSDavid E. O'Brien
276d4766c1SAndrew Turner.if ${TARGET_CPUARCH} == "arm"
281992e9a1SAndrew TurnerCFLAGS+=	-DTARGET_ARM_EABI
291992e9a1SAndrew Turner.endif
301992e9a1SAndrew Turner
3125faff34SWarner Losh.if ${MACHINE_CPUARCH} == "sparc64"
325d8d0d50SDavid E. O'BrienTGTOBJS=	crtfastmath.o
33df411a30SDavid E. O'BrienSRCS+=		crtfastmath.c
345d8d0d50SDavid E. O'Brien.endif
35281fc7f2SRuslan ErmilovBEGINSRC?=	crtstuff.c
36281fc7f2SRuslan ErmilovENDSRC?=	crtstuff.c
375d8d0d50SDavid E. O'Brien
385ca34122SBryan DreweryFILES=		${OBJS} ${SOBJS} ${TGTOBJS}
395ca34122SBryan DreweryFILESMODE=	${LIBMODE}
405ca34122SBryan DreweryFILESOWN=	${LIBOWN}
415ca34122SBryan DreweryFILESGRP=	${LIBGRP}
425ca34122SBryan DreweryFILESDIR=	${LIBDIR}
437c6cc9deSBryan Drewery# These FILES qualify as libraries for the purpose of LIBRARIES_ONLY.
447c6cc9deSBryan Drewery.undef LIBRARIES_ONLY
455ca34122SBryan Drewery
461754e424SRuslan Ermilov${OBJS} ${SOBJS}: ${SRCS:M*.h}
473a7789cfSDavid E. O'Brien
4820200638SRuslan ErmilovCLEANFILES=	${OBJS} ${SOBJS} ${TGTOBJS}
4920200638SRuslan Ermilov
508c258dc6SPeter Wemmcrtbegin.o:	${BEGINSRC}
513a7789cfSDavid E. O'Brien	${CC} ${CFLAGS} -g0 -DCRT_BEGIN \
524d4be121SDavid E. O'Brien		-c -o ${.TARGET} ${.ALLSRC:N*.h}
533a7789cfSDavid E. O'Brien
54afb57df6SAlexander KabaevcrtbeginT.o:	${BEGINSRC}
55afb57df6SAlexander Kabaev	${CC} ${CFLAGS} -g0 -DCRT_BEGIN -DCRTSTUFFT_O \
56afb57df6SAlexander Kabaev		-c -o ${.TARGET} ${.ALLSRC:N*.h}
57afb57df6SAlexander Kabaev
58c7a6b091SMarcel MoolenaarcrtbeginS.o:	${BEGINSRC}
593a7789cfSDavid E. O'Brien	${CC} ${CFLAGS} -g0 -DCRT_BEGIN ${CRTS_CFLAGS} \
604d4be121SDavid E. O'Brien		-c -o ${.TARGET} ${.ALLSRC:N*.h}
613a7789cfSDavid E. O'Brien
628c258dc6SPeter Wemmcrtend.o:	${ENDSRC}
633a7789cfSDavid E. O'Brien	${CC} ${CFLAGS} -g0 -DCRT_END \
644d4be121SDavid E. O'Brien		-c -o ${.TARGET} ${.ALLSRC:N*.h}
653a7789cfSDavid E. O'Brien
66c7a6b091SMarcel MoolenaarcrtendS.o:	${ENDSRC}
673a7789cfSDavid E. O'Brien	${CC} ${CFLAGS} -g0 -DCRT_END ${CRTS_CFLAGS} \
684d4be121SDavid E. O'Brien		-c -o ${.TARGET} ${.ALLSRC:N*.h}
693a7789cfSDavid E. O'Brien
7009fb6bffSBryan DreweryCOMMONHDRS+=	tm.h tconfig.h options.h
7109fb6bffSBryan DreweryCLEANFILES+=	${COMMONHDRS} optionlist cs-tconfig.h cs-tm.h
723a7789cfSDavid E. O'Brien
733a7789cfSDavid E. O'Brien.include <bsd.lib.mk>
74