mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-24 02:34:59 +00:00
Post process the crunch1.mk file to allow make arguments to passed on
a per program basis allowing a greater control on what is built. The buildopts file contains Makefile lines of form: # Anything added to OPTS is added to every build rule. OPTS= -DNOPAM # These should only be added to the build of user-ppp. ppp_OPTS= -DNOKLDLOAD -DNOINET6 -DNONAT -DNOATM -DNOSUID \ -DHAVE_DES -DNORADIUS -DNOI4B -DNONETGRAPH Really these should be added to crunch.inc, but that file is currently optional, and if defined masks the global one. Next step will be to move these global settings back out into the individual builds as OPTS, and then migrate OPTS and prog_OPTS back into the local crunch.inc file.
This commit is contained in:
parent
c7afc3e07c
commit
a5e7d98e8a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=68240
|
@ -13,7 +13,13 @@ crunch:
|
|||
else \
|
||||
crunchgen -h ../../build/crunch.inc ./crunch1.conf ; \
|
||||
fi )
|
||||
@${MAKE} -f crunch1.mk $(CRUNCHFLAGS) all \
|
||||
../../build/munge_crunchmk.pl crunch1.mk ;
|
||||
@( if [ -f buildopts.inc ] ; then \
|
||||
echo '.include "buildopts.inc"' > crunch1.mk.tmp ; \
|
||||
cat crunch1.mk >> crunch1.mk.tmp ; \
|
||||
mv crunch1.mk.tmp crunch1.mk ; \
|
||||
fi )
|
||||
${MAKE} -f crunch1.mk $(CRUNCHFLAGS) all \
|
||||
"CFLAGS=${CFLAGS} ${CRUNCHFLAGS}" #2>&1 >/dev/null
|
||||
strip --remove-section=.note --remove-section=.comment crunch1
|
||||
|
||||
|
|
30
release/picobsd/build/munge_crunchmk.pl
Executable file
30
release/picobsd/build/munge_crunchmk.pl
Executable file
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/perl -wi
|
||||
|
||||
# Post process a crunch1.mk file:
|
||||
#
|
||||
# from...
|
||||
# ftp_make:
|
||||
# (cd $(ftp_SRCDIR) && make depend && make $(ftp_OBJS))
|
||||
#
|
||||
# to...
|
||||
# ftp_make:
|
||||
# (cd $(ftp_SRCDIR) && make obj && make depend && make $(OPTS) $(ftp_OPTS) $(ftp_OBJS))
|
||||
|
||||
use strict;
|
||||
|
||||
while (my $line = <>) {
|
||||
if ( $line =~ /(.*)make depend && make (\$\((.*?)_OBJS\).*)/ ) {
|
||||
my $start = $1; # The start of the line.
|
||||
my $end = $2; # The end of the line.
|
||||
my $prog = $3; # The parsed out name of the program.
|
||||
|
||||
print $start;
|
||||
print 'make obj && make depend && ';
|
||||
print 'make $(OPTS) $(' . $prog . '_OPTS) ';
|
||||
print $end, "\n";
|
||||
} else {
|
||||
print $line;
|
||||
}
|
||||
}
|
||||
|
||||
#end
|
6
release/picobsd/net/crunch1/buildopts.inc
Normal file
6
release/picobsd/net/crunch1/buildopts.inc
Normal file
|
@ -0,0 +1,6 @@
|
|||
# $FreeBSD$
|
||||
|
||||
OPTS= -DNOPAM
|
||||
ppp_OPTS= -DNOKLDLOAD -DNOINET6 -DNONAT -DNOATM -DNOSUID -DHAVE_DES -DNORADIUS -DNOI4B -DNONETGRAPH
|
||||
|
||||
#end
|
Loading…
Reference in a new issue