# Makefile for GNU C++ compiler. # Copyright (C) 1987, 88, 90-5, 1998 Free Software Foundation, Inc. #This file is part of GNU CC. #GNU CC is free software; you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation; either version 2, or (at your option) #any later version. #GNU CC is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. #You should have received a copy of the GNU General Public License #along with GNU CC; see the file COPYING. If not, write to #the Free Software Foundation, 59 Temple Place - Suite 330, #Boston, MA 02111-1307, USA. # The makefile built from this file lives in the fixinc subdirectory. # Its purpose is to build the any-platforms fixinc.sh script. CFLAGS = -g CC = @CC@ SHELL = /bin/sh target=@target@ # Directory where sources are, from where we are. srcdir = @srcdir@ VPATH = @srcdir@ # End of variables for you to override. default : gen # Now figure out from those variables how to compile and link. # Specify the directories to be searched for header files. # Both . and srcdir are used, in that order. INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config # Always use -I$(srcdir)/config when compiling. .c.o: $(CC) -c $(CFLAGS) $(CPPFLAGS) $(INCLUDES) $< # The only suffixes we want for implicit rules are .c and .o. .SUFFIXES: .SUFFIXES: .c .o # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## ## Makefile for constructing the "best" include fixer we can ## ## $Id: Makefile.in,v 1.2 1998/12/16 21:18:54 law Exp $ ## ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # OBJ = fixincl.o server.o regex.o HDR = server.h regex.h 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) 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) $(CFLAGS) -DSTDC_HEADERS=1 -c regex.c fixincl.o : fixincl.x fixincl.c server.o : server.c server.h 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 $(srcdir)/fixincl.tpl -b fixincl \ $(srcdir)/inclhack.def ; \ else echo You need to install autogen ; \ $(CP) $(srcdir)/$@ . ; 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 ; \ $(CP) $(srcdir)/$@ . ; 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 ; \ $(CP) $(srcdir)/$@ . ; 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 ../fixinc.sh ; \ if ( ./fixincl -v > /dev/null 2>&1 ) ; then \ echo cp fixincl.sh ../fixinc.sh ; \ cp fixincl.sh ../fixinc.sh ; \ chmod 555 ../fixinc.sh ; \ rm -f ../fixincl ; \ echo cp fixincl .. ; \ cp fixincl .. ; \ chmod 555 ../fixincl ; \ else \ echo cp inclhack.sh ../fixinc.sh ; \ cp inclhack.sh ../fixinc.sh ; \ fi