]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/csu/Makefile.inc
Merge OpenSSL 3.0.9
[FreeBSD/FreeBSD.git] / lib / csu / Makefile.inc
1 # $FreeBSD$
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-asynchronous-unwind-tables
24 CFLAGS+=        -fno-omit-frame-pointer
25 CFLAGS+=        -I${.CURDIR:H}/common \
26                 -I${SRCTOP}/lib/libc/include
27
28 CFLAGS_CRTS=    -DSHARED ${PICFLAG}
29
30 FILES=          ${OBJS}
31 FILESMODE=      ${LIBMODE}
32 FILESOWN=       ${LIBOWN}
33 FILESGRP=       ${LIBGRP}
34 FILESDIR=       ${LIBDIR}
35 # These FILES qualify as libraries for the purpose of LIBRARIES_ONLY.
36 .undef LIBRARIES_ONLY
37
38 CLEANFILES+=    ${OBJS} ${CRT1OBJS} crt1_c.o gcrt1_c.o Scrt1_c.o
39 CLEANFILES+=    crti_s.o
40
41 crt1.o: crt1_c.o ${CRT1OBJS}
42         ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o}
43 .if ${MACHINE_ARCH} == "i386"
44         ${OBJCOPY} --localize-symbol _start1 ${.TARGET}
45 .endif
46
47 gcrt1_c.o: crt1_c.c
48         ${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
49
50 gcrt1.o: gcrt1_c.o ${CRT1OBJS}
51         ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o}
52
53 Scrt1_c.o: crt1_c.c
54         ${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
55
56 Scrt1.o: Scrt1_c.o ${CRT1OBJS}
57         ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o}
58 .if ${MACHINE_ARCH} == "i386"
59         ${OBJCOPY} --localize-symbol _start1 ${.TARGET}
60 .endif
61
62 crtbegin.o: crtbegin.c
63 crtbeginS.o: crtbegin.c
64 crtbeginT.o: crtbegin.c
65 crtend.o: crtend.c
66 crtendS.o: crtend.c
67
68 crtbegin.o crtend.o crtbeginT.o:
69         ${CC} ${CFLAGS} -I${.CURDIR} -c -o ${.TARGET} ${.ALLSRC:N*.h:[1]}
70
71 crtbeginS.o crtendS.o:
72         ${CC} ${CFLAGS} -I${.CURDIR} ${CFLAGS_CRTS} -c -o ${.TARGET} \
73             ${.ALLSRC:N*.h:[1]}
74
75 crti_s.o: crti.S
76         ${CC} ${CFLAGS} ${ACFLAGS} -c ${.ALLSRC:M*.S} -o ${.TARGET}
77
78 crti.o: crti_s.o crtbrand.o
79         ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o}
80
81 .endif
82
83 .include "../Makefile.inc"