This is currently an opt-in build flag. Once ASLR support is ready and stable it should changed to opt-out and be enabled by default along with ASLR. Each application Makefile uses opt-out to ensure that ASLR will be enabled by default in new directories when the system is compiled with PIE/ASLR. [2] Mark known build failures as NO_PIE for now. The only known runtime failure was rtld. [1] http://www.bsdcan.org/2014/schedule/events/452.en.html Submitted by: Shawn Webb <lattera@gmail.com> Discussed between: des@ and Shawn Webb [2]
39 lines
798 B
Makefile
39 lines
798 B
Makefile
# $FreeBSD$
|
|
|
|
PROG= ipnat
|
|
SRCS= ${GENHDRS} ipnat.c ipnat_y.c ipnat_l.c
|
|
MAN= ipnat.8 ipnat.4 ipnat.5
|
|
MLINKS= ipnat.5 ipnat.conf.5
|
|
CFLAGS+= -I.
|
|
|
|
GENHDRS= ipnat_l.h ipnat_y.h
|
|
DPSRCS+= ${GENHDRS}
|
|
|
|
CLEANFILES+= ${GENHDRS} ipnat_y.c ipnat_l.c
|
|
|
|
NO_PIE= yes
|
|
|
|
ipnat_y.c: ipnat_y.y
|
|
${YACC} -d ${.ALLSRC}
|
|
sed -e 's/yy/ipnat_yy/g' \
|
|
-e 's/y.tab.c/ipnat_y.c/' \
|
|
-e s/\"ipnat_y.y\"/\"..\\/tools\\/ipnat_y.y\"/ \
|
|
y.tab.c > ${.TARGET}
|
|
sed -e 's/yy/ipnat_yy/g' \
|
|
-e 's/y.tab.h/ipnat_y.h/' \
|
|
y.tab.h > ${.TARGET:.c=.h}
|
|
|
|
ipnat_y.h: ipnat_y.c
|
|
|
|
ipnat_l.c: lexer.c
|
|
sed -e 's/yy/ipnat_yy/g' \
|
|
-e 's/y.tab.h/ipnat_y.h/' \
|
|
-e 's/lexer.h/ipnat_l.h/' \
|
|
${.ALLSRC} > ${.TARGET}
|
|
|
|
ipnat_l.h: lexer.h
|
|
sed -e 's/yy/ipnat_yy/g' \
|
|
${.ALLSRC} > ${.TARGET}
|
|
|
|
.include <bsd.prog.mk>
|