| # 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=/bin/sh |
| |
| # 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 |