# $OpenBSD: Makefile.bsd-wrapper1,v 1.1 1996/03/28 07:31:08 etheisen Exp $ # # XXX -- GNUism # This file's only purpose to help isolate # the funky GNU build mechanism! # CPPFLAGS+= -I$(.CURDIR) -I$(.CURDIR)/../include -I$(.OBJDIR) all: alloca-conf.h config.h needed-list alloca-conf.h: alloca-norm.h @echo Creating $(.TARGET) symlink @ln -s $(.ALLSRC) $(.TARGET) # # The following is more or less straight from the GNU makefile # with pmake-isms added were needed. Note that needed-list # now contains .c's instead of .o's. # CONFIG_H = lconfig.h NEEDED_LIST = lneeded-list EXTRA_OFILES = needed-list: stamp-picdir $(NEEDED_LIST) cp $(NEEDED_LIST) needed-list lneeded-list: $(EXTRA_OFILES) needed.awk errors rm -f lneeded-list f=""; \ for i in `awk -f needed.awk >lneeded-list # Generate an awk script that looks for functions in functions.def needed.awk: $(.CURDIR)/functions.def echo "# !Automatically generated from $(.CURDIR)/functions.def"\ "- DO NOT EDIT!" >needed.awk grep '^DEF(' < $(.CURDIR)/functions.def \ | sed -e '/DEF/s|DEF.\([^,]*\).*|/\1/ { printf "\1.c " }|' \ >>needed.awk config.h: $(CONFIG_H) cp $(CONFIG_H) config.h lconfig.h: needed2.awk errors echo "/* !Automatically generated from $(.CURDIR)/functions.def"\ "- DO NOT EDIT! */" >lconfig.h awk -f needed2.awk >lconfig.h # Generate an awk script that looks for variables in functions.def needed2.awk: $(.CURDIR)/functions.def echo "# !Automatically generated from $(.CURDIR)/functions.def"\ "- DO NOT EDIT!" >needed2.awk grep '^DEFVAR(' < $(.CURDIR)/functions.def \ | sed -e '/DEFVAR/s|DEFVAR.\([^,]*\).*|/\1/ { printf "#ifndef NEED_\1\\n#define NEED_\1\\n#endif\\n" }|' \ >>needed2.awk grep '^DEFFUNC(' < $(.CURDIR)/functions.def \ | sed -e '/DEFFUNC/s|DEFFUNC.\([^,]*\).*|/\1/ { printf "#ifndef NEED_\1\\n#define NEED_\1\\n#endif\\n" }|' \ >>needed2.awk dummy.o: $(.CURDIR)/dummy.c alloca-conf.h $(.CURDIR)/functions.def -$(CC) -c $(CFLAGS) $(CPPFLAGS) $(HDEFINES) $(.CURDIR)/dummy.c 2>/dev/null errors: dummy.o $(EXTRA_OFILES) -($(CC) -o dummy $(CFLAGS) $(LDFLAGS) $(ERRORS_LDFLAGS) dummy.o $(EXTRA_OFILES) $(LOADLIBES)) >errors 2>&1 || true stamp-picdir: if [ -n "$(PICFLAG)" ] && [ ! -d pic ]; then \ mkdir pic; \ else true; fi touch stamp-picdir