-# Makefile for GNU compilers.
-# Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+# Makefile for GCC fixincludes.
+#
+# Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
-#This file is part of GNU CC.
+#This file is part of GCC.
-#GNU CC is free software; you can redistribute it and/or modify
+#GCC 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,
+#GCC 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
+#along with GCC; 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 = -DIN_GCC $(CFLAGS) $(CPPFLAGS) $(INCLUDES)
+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 >
-CC = @CC@
-SHELL = /bin/sh
+FL_LIST = $(CFLAGS) $(CPPFLAGS) $(WARN_CFLAGS)
+FIXINC_DEFS = -DIN_GCC -DHAVE_CONFIG_H $(FL_LIST) $(INCLUDES)
-target=@target@
# Directory where sources are, from where we are.
srcdir = @srcdir@
-VPATH = @srcdir@
+VPATH = $(srcdir)
subdir = fixinc
# End of variables for you to override.
## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
LIBERTY = ../../libiberty/libiberty.a
-OBJ = fixincl.o fixtests.o fixfixes.o server.o procopen.o \
- gnu-regex.o fixlib.o
-HDR = server.h gnu-regex.h fixlib.h machname.h
+ALLOBJ = fixincl.o fixtests.o fixfixes.o server.o procopen.o \
+ fixlib.o
-TARGETS = fixincl
+TESTOBJ = fixincl.o fixlib.o fixtests.o
+FIXOBJ = fixfixes.o fixlib.o
+
+HDR = server.h fixlib.h machname.h
+FI = fixincl@build_exeext@
+AF = applyfix@build_exeext@
all : $(TARGETS)
gen : $(srcdir)/fixincl.x
-fixincl: $(OBJ) $(LIBERTY)
- $(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $@ $(OBJ) $(LIBERTY)
+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)
+
+# String length warnings
+fixincl.o-warn = -Wno-error
-$(OBJ) : $(HDR)
-fixincl.o : $(srcdir)/fixincl.x fixincl.c
+$(ALLOBJ) : $(HDR)
+fixincl.o : fixincl.c $(srcdir)/fixincl.x
fixtests.o : fixtests.c
-fixfixes.o : fixfixes.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.
-# '$(srcdir)/fixincl.x' in the source dir.
+# 'fixincl.x' in the source dir.
#
machname.h: ../specs
$(SHELL) $(srcdir)/genfixes $@
-$(srcdir)/fixincl.x: fixincl.tpl inclhack.def
+$(srcdir)/fixincl.x: @MAINT@ fixincl.tpl inclhack.def
cd $(srcdir) ; $(SHELL) ./genfixes $@
clean:
- rm -f *.o $(TARGETS) machname.h *~ *.exe
+ 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 : fixincl
- ./fixincl -v
+install-bin : $(TARGETS)
+ ./fixincl -v < /dev/null
@if [ -f ../fixinc.sh ] ; then rm -f ../fixinc.sh || \
- mv -f ../fixinc.sh ../fixinc.sh.$$ || exit 1 ; fi
- @if [ -f ./fixincl.sh ] ; \
- then echo cp ./fixincl.sh ../fixinc.sh ; \
- cp ./fixincl.sh ../fixinc.sh ; \
- else echo cp $(srcdir)/fixincl.sh ../fixinc.sh ; \
- cp $(srcdir)/fixincl.sh ../fixinc.sh ; fi
+ 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
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
$(SHELL) ./config.status
-check : fixincl
+check : $(TARGETS)
autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def
$(SHELL) ./check.sh $(srcdir)/tests/base
@rm -f ./check.sh