# Makefile for fixincludes.
#
-# Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004
+# Free Software Foundation, Inc.
#This file is part of fixincludes.
srcdir = @srcdir@
VPATH = $(srcdir)
+# Directory in which to put the directories used by the compiler.
+libdir = @libdir@
+# Directory in which GCC puts its executables.
+libexecdir = @libexecdir@
+
# End of variables for you to override.
+# The target that we're configured for.
+target = @target@
+target_noncanonical:=@target_noncanonical@
+
+# The version of GCC in this tree
+gcc_version := $(shell cat $(srcdir)/../gcc/BASE-VER)
+
+# Directory in which the compiler finds libraries etc.
+libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
+# Directory in which the compiler finds executables
+libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
+# Where our executable files go
+itoolsdir = $(libexecsubdir)/install-tools
+# Where our data files go
+itoolsdatadir = $(libsubdir)/install-tools
+
+# Locate mkinstalldirs.
+mkinstalldirs=$(SHELL) $(srcdir)/../mkinstalldirs
+
default : all
# Now figure out from those variables how to compile and link.
LIBIBERTY=../libiberty/libiberty.a
ALLOBJ = fixincl.o fixtests.o fixfixes.o server.o procopen.o \
- fixlib.o
+ fixlib.o fixopts.o
-TESTOBJ = fixincl.o fixlib.o fixtests.o
-FIXOBJ = fixfixes.o fixlib.o
+TESTOBJ = fixincl.o fixlib.o fixtests.o fixopts.o
+FIXOBJ = fixfixes.o fixlib.o fixopts.o
HDR = server.h fixlib.h
FI = fixincl@EXEEXT@
AF = applyfix@EXEEXT@
-all : @TARGET@
+all : @TARGET@ fixinc.sh mkheaders
gen : $(srcdir)/fixincl.x
twoprocess : test-stamp $(AF)
full-stamp : $(ALLOBJ) $(LIBIBERTY)
- $(CC) $(LDFLAGS) -o $(FI) $(ALLOBJ) $(LIBIBERTY)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(FI) $(ALLOBJ) $(LIBIBERTY)
$(STAMP) $@
test-stamp : $(TESTOBJ) $(LIBIBERTY)
- $(CC) $(LDFLAGS) -o $(FI) $(TESTOBJ) $(LIBIBERTY)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(FI) $(TESTOBJ) $(LIBIBERTY)
$(STAMP) $@
$(AF): $(FIXOBJ) $(LIBIBERTY)
- $(CC) $(LDFLAGS) -o $@ $(FIXOBJ) $(LIBIBERTY)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(FIXOBJ) $(LIBIBERTY)
$(ALLOBJ) : $(HDR)
fixincl.o : fixincl.c $(srcdir)/fixincl.x
procopen.o : procopen.c
fixlib.o : fixlib.c
+fixinc.sh : fixinc.in mkfixinc.sh Makefile
+ srcdir="$(srcdir)" $(SHELL) $(srcdir)/mkfixinc.sh $(target)
+
$(srcdir)/fixincl.x: @MAINT@ fixincl.tpl inclhack.def
cd $(srcdir) ; $(SHELL) ./genfixes
-clean:
- rm -f *.o *-stamp $(AF) $(FI) *~
+mostlyclean :
+ rm -f *.o *-stamp $(AF) $(FI) *~ fixinc.sh
-maintainer-clean : clean
+clean: mostlyclean
+ rm -f mkheaders mkheaders.almost
+
+distclean: clean
+ rm -f Makefile config.h config.log config.status stamp-h
+
+maintainer-clean: distclean
rm -f $(srcdir)/fixincl.x
+distclean : clean
+
Makefile: $(srcdir)/Makefile.in config.status
$(SHELL) ./config.status Makefile
+mkheaders.almost: $(srcdir)/mkheaders.in config.status
+ CONFIG_FILES=mkheaders.almost:mkheaders.in \
+ CONFIG_HEADERS= ./config.status
+
+mkheaders: mkheaders.almost $(srcdir)/../gcc/BASE-VER
+ sed -e 's/@gcc_version@/$(gcc_version)/' < $< > $@T
+ mv -f $@T $@
+
config.h: stamp-h
stamp-h: $(srcdir)/config.h.in config.status
$(SHELL) ./config.status config.h
autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def
$(SHELL) ./check.sh $(srcdir)/tests/base
@rm -f ./check.sh
+
+install : all
+ -rm -rf $(DESTDIR)$(itoolsdir)
+ $(mkinstalldirs) $(DESTDIR)$(itoolsdir)
+ $(mkinstalldirs) $(DESTDIR)$(itoolsdatadir)/include
+ $(INSTALL_DATA) $(srcdir)/README-fixinc \
+ $(DESTDIR)$(itoolsdatadir)/include/README
+ $(INSTALL_SCRIPT) fixinc.sh $(DESTDIR)$(itoolsdir)/fixinc.sh
+ $(INSTALL_PROGRAM) fixincl@EXEEXT@ \
+ $(DESTDIR)$(itoolsdir)/fixincl@EXEEXT@
+ $(INSTALL_SCRIPT) mkheaders $(DESTDIR)$(itoolsdir)/mkheaders
+
+dvi :
+info :
+html :
+installcheck :