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