1################################################################# 2# 3# General notes: 4# 5# A number of Make variables are used to generate the crunchgen config file. 6# 7# CRUNCH_SRCDIRS: lists directories to search for included programs 8# CRUNCH_PROGS: lists programs to be included --- 11 unchanged lines hidden (view full) --- 20# By default, any name appearing in CRUNCH_PROGS or CRUNCH_ALIAS_${P} 21# will be used to generate a hard link to the resulting binary. 22# Specific links can be suppressed by setting 23# CRUNCH_SUPPRESS_LINK_$(NAME) to 1. 24# 25# If CRUNCH_GENERATE_LINKS is set to no, no links will be generated. 26# 27 |
28# $FreeBSD: head/share/mk/bsd.crunchgen.mk 284341 2015-06-13 15:36:13Z sjg $ |
29 30################################################################## 31# The following is pretty nearly a generic crunchgen-handling makefile 32# 33 34CONF= $(PROG).conf 35OUTMK= $(PROG).mk 36OUTC= $(PROG).c --- 64 unchanged lines hidden (view full) --- 101 echo special $(P) buildopts DIRPRFX=${DIRPRFX}${P}/ >>$(.TARGET) 102.endif 103.for A in $(CRUNCH_ALIAS_$(P)) 104 echo ln $(P) $(A) >>$(.TARGET) 105.endfor 106.endfor 107.endfor 108 |
109CRUNCHGEN?= crunchgen |
110# XXX Make sure we don't pass -P to crunchgen(1). 111.MAKEFLAGS:= ${.MAKEFLAGS:N-P} 112.ORDER: $(OUTPUTS) objs |
113$(OUTPUTS): $(CONF) .META 114 MAKE=${MAKE} MAKEOBJDIRPREFIX=${CRUNCHOBJS} ${CRUNCHGEN} -fq -m $(OUTMK) \ |
115 -c $(OUTC) $(CONF) 116 117$(PROG): $(OUTPUTS) objs 118 MAKEOBJDIRPREFIX=${CRUNCHOBJS} ${MAKE} -f $(OUTMK) exe 119 120objs: $(OUTMK) 121 MAKEOBJDIRPREFIX=${CRUNCHOBJS} ${MAKE} -f $(OUTMK) objs 122 --- 46 unchanged lines hidden --- |