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