# Makefile for GNU compilers. # # Copyright (C) 1998, 1999, 2000, 2001 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. SHELL=@SHELL@ # Some versions of `touch' (such as the version on Solaris 2.8) # do not correctly set the timestamp due to buggy versions of `utime' # in the kernel. So, we use `echo' instead. STAMP = echo timestamp > FL_LIST = $(CFLAGS) $(CPPFLAGS) $(WARN_CFLAGS) FIXINC_DEFS = -DIN_GCC -DHAVE_CONFIG_H $(FL_LIST) $(INCLUDES) # Directory where sources are, from where we are. srcdir = @srcdir@ VPATH = $(srcdir) subdir = fixinc # End of variables for you to override. default : all # 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 $(FIXINC_DEFS) $< # 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 ## ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # LIBERTY = ../../libiberty/libiberty.a ALLOBJ = fixincl.o fixtests.o fixfixes.o server.o procopen.o \ gnu-regex.o fixlib.o TESTOBJ = fixincl.o fixlib.o fixtests.o gnu-regex.o FIXOBJ = fixfixes.o fixlib.o gnu-regex.o HDR = server.h gnu-regex.h fixlib.h machname.h FI = fixincl@build_exeext@ AF = applyfix@build_exeext@ all : $(TARGETS) gen : $(srcdir)/fixincl.x oneprocess : full-stamp twoprocess : test-stamp $(AF) full-stamp : $(ALLOBJ) $(LIBERTY) $(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $(FI) $(ALLOBJ) $(LIBERTY) $(STAMP) $@ test-stamp : $(TESTOBJ) $(LIBERTY) $(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $(FI) $(TESTOBJ) $(LIBERTY) $(STAMP) $@ $(AF): $(FIXOBJ) $(LIBERTY) $(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $@ $(FIXOBJ) $(LIBERTY) $(ALLOBJ) : $(HDR) fixincl.o : fixincl.c $(srcdir)/fixincl.x fixtests.o : fixtests.c fixfixes.o : fixfixes.c $(srcdir)/fixincl.x server.o : server.c procopen.o : procopen.c gnu-regex.o : gnu-regex.c fixlib.o : fixlib.c # 'machname.h' is built in the build directory. # 'fixincl.x' in the source dir. # machname.h: ../specs $(SHELL) $(srcdir)/genfixes $@ $(srcdir)/fixincl.x: @MAINT@ fixincl.tpl inclhack.def cd $(srcdir) ; $(SHELL) ./genfixes $@ clean: rm -f *.o *-stamp $(AF) $(FI) machname.h *~ maintainer-clean : clean rm -f $(srcdir)/fixincl.x # Build the executable and copy up into gcc dir. # We still copy the script because we still have alternative scripts. # install-bin : $(TARGETS) ./fixincl -v < /dev/null @if [ -f ../fixinc.sh ] ; then rm -f ../fixinc.sh || \ mv -f ../fixinc.sh ../fixinc.sh.$$ || exit 1 ; else : ; fi @cp $(srcdir)/fixincl.sh ../fixinc.sh chmod 755 ../fixinc.sh Makefile: Makefile.in ../config.status cd .. \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \ $(SHELL) ./config.status check : $(TARGETS) autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def $(SHELL) ./check.sh $(srcdir)/tests/base @rm -f ./check.sh