## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## ## Makefile for constructing the "best" include fixer we can ## ## $Id: Makefile,v 1.4 1998/08/05 10:20:10 korbb Exp $ ## ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # OBJ = fixincl.o server.o regex.o HDR = server.h regex.h ## LIB = -lgen SH_TARGET = inclhack.sh fixincl.sh BIN_TARGET = fixincl AG_TEXT = $(SH_TARGET) fixincl.x \ inclhack.def inclhack.tpl hackshell.tpl fixincl.tpl TARGETS = $(SH_TARGET) $(BIN_TARGET) default : gen all : $(TARGETS) sh : $(SH_TARGET) gen : $(SH_TARGET) fixincl.x $(OBJ): $(HDR) fixincl: $(OBJ) @echo $(CC) -o $@ $(OBJ) $(LIB) ; \ if $(CC) -o $@ $(OBJ) $(LIB) ; then : ; else \ rm -f $@ ; (echo "#! /bin/sh" ; echo exit 1 ) > $@ ; \ chmod 777 $@ ; fi regex.o: regex.c -$(CC) -g -DSTDC_HEADERS=1 -c regex.c fixincl.o : fixincl.x fixincl.c -$(CC) $(CFLAGS) '-DTARGET_MACHINE="$(TARGET)"' -o $@ -c fixincl.c server.o : server.c server.h -$(CC) $(CFLAGS) -o $@ -c server.c fixincl.x: fixincl.tpl inclhack.def @if ( autogen --help > /dev/null 2>&1 ) ; then \ echo autogen -T fixincl.tpl -b fixincl inclhack.def ; \ autogen -T fixincl.tpl -b fixincl inclhack.def ; \ else echo You need to install autogen ; touch $@ ; fi inclhack.sh: inclhack.def inclhack.tpl hackshell.tpl @if ( autogen --help > /dev/null 2>&1 ) ; then \ echo autogen inclhack.def ; \ autogen inclhack.def ; \ else echo You need to install autogen ; touch $@ ; fi fixincl.sh: inclhack.def inclhack.tpl @if ( autogen --help > /dev/null 2>&1 ) ; then \ echo autogen -DPROGRAM=1 -b fixincl inclhack.def ; \ autogen -DPROGRAM=1 -b fixincl inclhack.def ; touch $@ ; \ else echo You need to install autogen ; touch $@ ; fi ; \ clean: rm -f *.o $(TARGETS) fixincl.x # Ensure all the targets are built. If the program "fixincl" # failed to compile, link or load, then we install the # "inclhack.sh" script. Otherwise, we install that program # plus the wrapper script, "fixincl.sh". # install: $(TARGETS) @rm -f $(DESTDIR)/fixinc.sh ; \ if ( ./fixincl -v > /dev/null 2>&1 ) ; then \ echo cp fixincl.sh $(DESTDIR)/fixinc.sh ; \ cp fixincl.sh $(DESTDIR)/fixinc.sh ; \ chmod 555 $(DESTDIR)/fixinc.sh ; \ rm -f $(DESTDIR)/fixincl ; \ echo cp fixincl $(DESTDIR) ; \ cp fixincl $(DESTDIR) ; \ chmod 555 $(DESTDIR)/fixincl ; \ else \ echo cp inclhack.sh $(DESTDIR)/fixinc.sh ; \ cp inclhack.sh $(DESTDIR)/fixinc.sh ; \ fi