1*3a56015aSIsaac FreundPACKAGE?= clibs-dev 2042df2e2SRuslan Ermilov 37e659f94SEd SchoutenNO_WMISSING_VARIABLE_DECLARATIONS= 47bc797e3SAlex Richardson# Can't instrument these files since that breaks non-sanitized programs. 57bc797e3SAlex RichardsonMK_ASAN:= no 67bc797e3SAlex RichardsonMK_UBSAN:= no 77e659f94SEd Schouten 831d62a73SAndrew Turner.include <src.opts.mk> 961ed578eSMitchell HorneMK_SSP= no 1031d62a73SAndrew Turner 1143e84039SEd Maste.if !defined(BUILDING_TESTS) 1231d62a73SAndrew Turner 13b0ee263dSJohn BaldwinOBJS+= Scrt1.o crt1.o gcrt1.o 1431d62a73SAndrew TurnerOBJS+= crtbegin.o crtbeginS.o crtbeginT.o 1531d62a73SAndrew TurnerOBJS+= crtend.o crtendS.o 16b0ee263dSJohn BaldwinOBJS+= crti.o crtn.o 17b0ee263dSJohn Baldwin 180bfad432SJohn BaldwinCRT1OBJS+= crtbrand.o feature_note.o ignore_init_note.o 1931d62a73SAndrew Turner 2099282790SJohn BaldwinACFLAGS+= -DLOCORE 2199282790SJohn Baldwin 22cb2d1350SEd MasteCFLAGS+= -DSTRIP_FBSDID 2328845ae1SDimitry AndricCFLAGS+= -fno-omit-frame-pointer 24b0ee263dSJohn BaldwinCFLAGS+= -I${.CURDIR:H}/common \ 25567d9fe8SStephen J. Kiernan -I${SRCTOP}/lib/libc/include \ 26567d9fe8SStephen J. Kiernan -I${SRCTOP}/lib/libsys \ 2728845ae1SDimitry Andric 2831d62a73SAndrew TurnerCFLAGS_CRTS= -DSHARED ${PICFLAG} 2931d62a73SAndrew Turner 30b0ee263dSJohn BaldwinFILES= ${OBJS} 31b0ee263dSJohn BaldwinFILESMODE= ${LIBMODE} 32b0ee263dSJohn BaldwinFILESOWN= ${LIBOWN} 33b0ee263dSJohn BaldwinFILESGRP= ${LIBGRP} 34b0ee263dSJohn BaldwinFILESDIR= ${LIBDIR} 35b0ee263dSJohn Baldwin# These FILES qualify as libraries for the purpose of LIBRARIES_ONLY. 36b0ee263dSJohn Baldwin.undef LIBRARIES_ONLY 37b0ee263dSJohn Baldwin 38c969310cSDmitry ChaginCRT1SRC?= crt1_c.c 39c969310cSDmitry ChaginCRT1OBJ?= 40b0ee263dSJohn Baldwin 41c969310cSDmitry ChaginCLEANFILES+= ${OBJS} ${CRT1OBJS} crt1_c.o gcrt1_c.o Scrt1_c.o 42c969310cSDmitry ChaginCLEANFILES+= crti_s.o ${CRT1SRC:C/.[S|c]$/.o/} 43c969310cSDmitry Chagin 44c969310cSDmitry Chagincrt1.o: ${CRT1SRC:C/.[S|c]$/.o/} ${CRT1OBJS} ${CRT1OBJ} 45b0ee263dSJohn Baldwin ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o} 46b0ee263dSJohn Baldwin 47c969310cSDmitry Chagingcrt1_c.o: ${CRT1SRC} 48c969310cSDmitry Chagin ${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.CURDIR}/${CRT1SRC} 49b0ee263dSJohn Baldwin 50c969310cSDmitry Chagingcrt1.o: gcrt1_c.o ${CRT1OBJS} ${CRT1OBJ} 51b0ee263dSJohn Baldwin ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o} 52b0ee263dSJohn Baldwin 53c969310cSDmitry ChaginScrt1_c.o: ${CRT1SRC} 54c969310cSDmitry Chagin ${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.CURDIR}/${CRT1SRC} 55b0ee263dSJohn Baldwin 56c969310cSDmitry ChaginScrt1.o: Scrt1_c.o ${CRT1OBJS} ${CRT1OBJ} 57b0ee263dSJohn Baldwin ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o} 58b0ee263dSJohn Baldwin 59ed3563b0SEd Maste# __FreeBSD_version is recorded in crt1.o et al via crtbrand. 60ed3563b0SEd Mastecrtbrand.o: ${SRCTOP}/sys/sys/param.h 61ed3563b0SEd Maste 6231d62a73SAndrew Turnercrtbegin.o: crtbegin.c 6331d62a73SAndrew TurnercrtbeginS.o: crtbegin.c 6431d62a73SAndrew TurnercrtbeginT.o: crtbegin.c 6531d62a73SAndrew Turnercrtend.o: crtend.c 6631d62a73SAndrew TurnercrtendS.o: crtend.c 6731d62a73SAndrew Turner 6831d62a73SAndrew Turnercrtbegin.o crtend.o crtbeginT.o: 69dcf1f838SBryan Drewery ${CC} ${CFLAGS} -I${.CURDIR} -c -o ${.TARGET} ${.ALLSRC:N*.h:[1]} 7031d62a73SAndrew Turner 7131d62a73SAndrew TurnercrtbeginS.o crtendS.o: 72dcf1f838SBryan Drewery ${CC} ${CFLAGS} -I${.CURDIR} ${CFLAGS_CRTS} -c -o ${.TARGET} \ 73dcf1f838SBryan Drewery ${.ALLSRC:N*.h:[1]} 7431d62a73SAndrew Turner 750bfad432SJohn Baldwincrti_s.o: crti.S 760bfad432SJohn Baldwin ${CC} ${CFLAGS} ${ACFLAGS} -c ${.ALLSRC:M*.S} -o ${.TARGET} 770bfad432SJohn Baldwin 780bfad432SJohn Baldwincrti.o: crti_s.o crtbrand.o 790bfad432SJohn Baldwin ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o} 800bfad432SJohn Baldwin 8131d62a73SAndrew Turner.endif 8231d62a73SAndrew Turner 8303dab16eSUlrich Spörlein.include "../Makefile.inc" 84