]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/csu/Makefile.inc
MFV: xz 5.4.5
[FreeBSD/FreeBSD.git] / lib / csu / Makefile.inc
1 PACKAGE=        clibs-dev
2
3 NO_WMISSING_VARIABLE_DECLARATIONS=
4 # Can't instrument these files since that breaks non-sanitized programs.
5 MK_ASAN:=       no
6 MK_UBSAN:=      no
7
8 .include <src.opts.mk>
9 MK_SSP= no
10
11 .if !defined(BUILDING_TESTS)
12
13 OBJS+=  Scrt1.o crt1.o gcrt1.o
14 OBJS+=  crtbegin.o crtbeginS.o crtbeginT.o
15 OBJS+=  crtend.o crtendS.o
16 OBJS+=  crti.o crtn.o
17
18 CRT1OBJS+=      crtbrand.o feature_note.o ignore_init_note.o
19
20 ACFLAGS+=       -DLOCORE
21
22 CFLAGS+=        -DSTRIP_FBSDID
23 CFLAGS+=        -fno-omit-frame-pointer
24 CFLAGS+=        -I${.CURDIR:H}/common \
25                 -I${SRCTOP}/lib/libc/include
26
27 CFLAGS_CRTS=    -DSHARED ${PICFLAG}
28
29 FILES=          ${OBJS}
30 FILESMODE=      ${LIBMODE}
31 FILESOWN=       ${LIBOWN}
32 FILESGRP=       ${LIBGRP}
33 FILESDIR=       ${LIBDIR}
34 # These FILES qualify as libraries for the purpose of LIBRARIES_ONLY.
35 .undef LIBRARIES_ONLY
36
37 CRT1SRC?=       crt1_c.c
38 CRT1OBJ?=
39
40 CLEANFILES+=    ${OBJS} ${CRT1OBJS} crt1_c.o gcrt1_c.o Scrt1_c.o
41 CLEANFILES+=    crti_s.o ${CRT1SRC:C/.[S|c]$/.o/}
42
43 crt1.o: ${CRT1SRC:C/.[S|c]$/.o/} ${CRT1OBJS} ${CRT1OBJ}
44         ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o}
45
46 gcrt1_c.o: ${CRT1SRC}
47         ${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.CURDIR}/${CRT1SRC}
48
49 gcrt1.o: gcrt1_c.o ${CRT1OBJS} ${CRT1OBJ}
50         ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o}
51
52 Scrt1_c.o: ${CRT1SRC}
53         ${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.CURDIR}/${CRT1SRC}
54
55 Scrt1.o: Scrt1_c.o ${CRT1OBJS} ${CRT1OBJ}
56         ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o}
57
58 crtbegin.o: crtbegin.c
59 crtbeginS.o: crtbegin.c
60 crtbeginT.o: crtbegin.c
61 crtend.o: crtend.c
62 crtendS.o: crtend.c
63
64 crtbegin.o crtend.o crtbeginT.o:
65         ${CC} ${CFLAGS} -I${.CURDIR} -c -o ${.TARGET} ${.ALLSRC:N*.h:[1]}
66
67 crtbeginS.o crtendS.o:
68         ${CC} ${CFLAGS} -I${.CURDIR} ${CFLAGS_CRTS} -c -o ${.TARGET} \
69             ${.ALLSRC:N*.h:[1]}
70
71 crti_s.o: crti.S
72         ${CC} ${CFLAGS} ${ACFLAGS} -c ${.ALLSRC:M*.S} -o ${.TARGET}
73
74 crti.o: crti_s.o crtbrand.o
75         ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o}
76
77 .endif
78
79 .include "../Makefile.inc"