# Makefile for GNU compilers. # Copyright (C) 1998, 1999 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 FIXINC_DEFS = @fixinc_defs@ 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 -I$(srcdir)/../../include # Always use -I$(srcdir)/config when compiling. .c.o: $(CC) -c $(CFLAGS) $(FIXINC_DEFS) $(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 ## ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # OBJ = fixincl.o server.o gnu-regex.o procopen.o HDR = server.h gnu-regex.h LIBERTY = ../../libiberty/libiberty.a 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) $(LIBERTY) $(LIB) ; \ if $(CC) -o $@ $(OBJ) $(LIBERTY) $(LIB) ; then : ; else \ rm -f $@ ; (echo "#! /bin/sh" ; echo exit 1 ) > $@ ; \ chmod 777 $@ ; fi gnu-regex.o: gnu-regex.c -$(CC) $(CFLAGS) $(FIXINC_DEFS) $(INCLUDES) -DREGEX_MALLOC \ -c $(srcdir)/gnu-regex.c fixincl.o : fixincl.x fixincl.c server.o : server.c server.h procopen.o : procopen.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 ; \ if [ `pwd` != `cd $(srcdir) ; pwd` ] ; then \ $(CP) $(srcdir)/$@ . ; \ else touch $@ ; fi ; fi inclhack.sh: inclhack.def inclhack.tpl hackshell.tpl @if ( autogen --help > /dev/null 2>&1 ) ; then \ echo autogen inclhack.def ; \ autogen -L$(srcdir) $(srcdir)/inclhack.def ; \ else echo You need to install autogen ; \ if [ `pwd` != `cd $(srcdir) ; pwd` ] ; then \ $(CP) $(srcdir)/$@ . ; \ else touch $@ ; fi ; 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 -L$(srcdir) \ $(srcdir)/inclhack.def ; touch $@ ; \ else echo You need to install autogen ; \ if [ `pwd` != `cd $(srcdir) ; pwd` ] ; then \ $(CP) $(srcdir)/$@ . ; \ else touch $@ ; fi ; 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 ; \ if [ -f ./fixincl.sh ] ; \ then cp fixincl.sh ../fixinc.sh ; \ else cp $(srcdir)/fixincl.sh ../fixinc.sh ; fi ; \ chmod 555 ../fixinc.sh ; \ rm -f ../fixincl ; \ echo cp fixincl .. ; \ cp fixincl .. ; \ chmod 555 ../fixincl ; \ else \ echo Could not install binary fixincludes. ; \ echo Installing shell script instead. ; \ echo cp inclhack.sh ../fixinc.sh ; \ if [ -f ./inclhack.sh ] ; \ then cp inclhack.sh ../fixinc.sh ; \ else cp $(srcdir)/inclhack.sh ../fixinc.sh ; fi ; \ fi