1 # Makefile for fixincludes.
3 # Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2009
4 # Free Software Foundation, Inc.
6 #This file is part of fixincludes.
8 #fixincludes is free software; you can redistribute it and/or modify
9 #it under the terms of the GNU General Public License as published by
10 #the Free Software Foundation; either version 3, or (at your option)
13 #fixincludes is distributed in the hope that it will be useful,
14 #but WITHOUT ANY WARRANTY; without even the implied warranty of
15 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 #GNU General Public License for more details.
18 #You should have received a copy of the GNU General Public License
19 #along with fixincludes; see the file COPYING3. If not see
20 #<http://www.gnu.org/licenses/>.
24 # Some versions of `touch' (such as the version on Solaris 2.8)
25 # do not correctly set the timestamp due to buggy versions of `utime'
26 # in the kernel. So, we use `echo' instead.
27 STAMP
= echo timestamp
>
31 WARN_CFLAGS
= @WARN_CFLAGS@ @WARN_PEDANTIC@ @WERROR@
33 INCLUDES
= -I.
-I
$(srcdir) -I..
/include -I
$(srcdir)/..
/include
34 FIXINC_CFLAGS
= -DHAVE_CONFIG_H
$(INCLUDES
)
36 # Directory where sources are, from where we are.
40 # Directory in which to put the directories used by the compiler.
42 # Directory in which GCC puts its executables.
43 libexecdir
= @libexecdir@
45 # End of variables for you to override.
47 # The target that we're configured for.
49 target_noncanonical
:=@target_noncanonical@
51 # The version of GCC in this tree
52 gcc_version
:= $(shell cat
$(srcdir)/..
/gcc
/BASE-VER
)
54 # Directory in which the compiler finds libraries etc.
55 libsubdir
= $(libdir)/gcc
/$(target_noncanonical
)/$(gcc_version
)
56 # Directory in which the compiler finds executables
57 libexecsubdir
= $(libexecdir
)/gcc
/$(target_noncanonical
)/$(gcc_version
)
58 # Where our executable files go
59 itoolsdir
= $(libexecsubdir
)/install-tools
60 # Where our data files go
61 itoolsdatadir
= $(libsubdir
)/install-tools
63 # Locate mkinstalldirs.
64 mkinstalldirs
=$(SHELL
) $(srcdir)/..
/mkinstalldirs
67 AUTOHEADER
= autoheader
69 ACLOCAL_AMFLAGS
= -I ..
/gcc
-I ..
-I ..
/config
73 # Now figure out from those variables how to compile and link.
76 $(CC
) -c
$(CFLAGS
) $(WARN_CFLAGS
) $(CPPFLAGS
) $(FIXINC_CFLAGS
) $<
78 # The only suffixes we want for implicit rules are .c and .o.
84 ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
86 ## Makefile for constructing the "best" include fixer we can
88 ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
90 LIBIBERTY
=..
/libiberty
/libiberty.a
92 ALLOBJ
= fixincl.o fixtests.o fixfixes.o server.o procopen.o \
95 TESTOBJ
= fixincl.o fixlib.o fixtests.o fixopts.o
96 FIXOBJ
= fixfixes.o fixlib.o fixopts.o
98 HDR
= server.h fixlib.h
100 AF
= applyfix@EXEEXT@
102 all : @TARGET@ fixinc.sh mkheaders
103 gen
: $(srcdir)/fixincl.x
106 oneprocess
: full-stamp
107 twoprocess
: test-stamp
$(AF
)
109 full-stamp
: $(ALLOBJ
) $(LIBIBERTY
)
110 $(CC
) $(CFLAGS
) $(LDFLAGS
) -o
$(FI
) $(ALLOBJ
) $(LIBIBERTY
)
113 test-stamp
: $(TESTOBJ
) $(LIBIBERTY
)
114 $(CC
) $(CFLAGS
) $(LDFLAGS
) -o
$(FI
) $(TESTOBJ
) $(LIBIBERTY
)
117 $(AF
): $(FIXOBJ
) $(LIBIBERTY
)
118 $(CC
) $(CFLAGS
) $(LDFLAGS
) -o
$@
$(FIXOBJ
) $(LIBIBERTY
)
121 fixincl.o
: fixincl.c
$(srcdir)/fixincl.x
122 fixtests.o
: fixtests.c
123 fixfixes.o
: fixfixes.c
$(srcdir)/fixincl.x
125 procopen.o
: procopen.c
128 fixinc.sh
: fixinc.in mkfixinc.sh Makefile
129 srcdir="$(srcdir)" $(SHELL
) $(srcdir)/mkfixinc.sh
$(target
)
131 $(srcdir)/fixincl.x
: @MAINT@ fixincl.tpl inclhack.def
132 cd
$(srcdir) ; $(SHELL
) .
/genfixes
135 rm -f
*.o
*-stamp
$(AF
) $(FI
) *~ fixinc.sh
138 rm -f mkheaders mkheaders.almost
141 rm -f Makefile config.h config.log config.status stamp-h
143 maintainer-clean
: distclean
144 rm -f
$(srcdir)/fixincl.x
148 Makefile
: $(srcdir)/Makefile.in config.status
149 $(SHELL
) .
/config.status Makefile
151 mkheaders.almost
: $(srcdir)/mkheaders.in config.status
152 CONFIG_FILES
=mkheaders.almost
:mkheaders.in \
153 CONFIG_HEADERS
= .
/config.status
155 mkheaders
: mkheaders.almost
$(srcdir)/..
/gcc
/BASE-VER
156 sed
-e
's/@gcc_version@/$(gcc_version)/' < $< > $@T
160 stamp-h
: $(srcdir)/config.h.in config.status
161 $(SHELL
) .
/config.status config.h
163 config.status
: $(srcdir)/configure
164 $(SHELL
) .
/config.status
--recheck
166 $(srcdir)/configure
: @MAINT@
$(srcdir)/configure.ac
$(srcdir)/aclocal.m4
167 cd
$(srcdir) && $(AUTOCONF
)
169 $(srcdir)/config.h.in
: @MAINT@
$(srcdir)/configure.ac
170 cd
$(srcdir) && $(AUTOHEADER
)
172 $(srcdir)/aclocal.m4
: @MAINT@
$(srcdir)/configure.ac
173 cd
$(srcdir) && $(ACLOCAL
) $(ACLOCAL_AMFLAGS
)
176 autogen
-T
$(srcdir)/check.tpl
$(srcdir)/inclhack.def
177 $(SHELL
) .
/check.sh
$(srcdir)/tests
/base
181 -rm -rf
$(DESTDIR
)$(itoolsdir
)
182 $(mkinstalldirs
) $(DESTDIR
)$(itoolsdir
)
183 $(mkinstalldirs
) $(DESTDIR
)$(itoolsdatadir
)/include
184 $(INSTALL_DATA
) $(srcdir)/README-fixinc \
185 $(DESTDIR
)$(itoolsdatadir
)/include/README
186 $(INSTALL_SCRIPT
) fixinc.sh
$(DESTDIR
)$(itoolsdir
)/fixinc.sh
187 $(INSTALL_PROGRAM
) fixincl@EXEEXT@ \
188 $(DESTDIR
)$(itoolsdir
)/fixincl@EXEEXT@
189 $(INSTALL_SCRIPT
) mkheaders
$(DESTDIR
)$(itoolsdir
)/mkheaders
191 install-strip
: install
193 ||
$(STRIP
) $(DESTDIR
)$(itoolsdir
)/fixincl@EXEEXT@
195 .PHONY
: all check install install-strip
196 .PHONY
: dvi pdf
info html install-pdf install-info install-html