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