summaryrefslogtreecommitdiff
path: root/gcc/fixinc/Makefile.in
blob: 4ff13d2e57efcebec000767798d3b5a21e3678a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Makefile for GNU compilers.
#   Copyright (C) 1998, 1999, 2000 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.

CFLAGS = -g
FIXINC_DEFS = -DIN_GCC $(CFLAGS) $(CPPFLAGS) $(INCLUDES)

CC = @CC@
SHELL = /bin/sh

target=@target@
# 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
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

TARGETS = fixincl

all : $(TARGETS)
gen : fixincl.x

fixincl: $(OBJ) $(LIBERTY)
	$(CC) $(FIXINC_DEFS) -o $@ $(OBJ) $(LIBERTY)

$(OBJ)      : $(HDR)
fixincl.o   : fixincl.x fixincl.c
fixtests.o  : fixtests.c
fixfixes.o  : fixfixes.c
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 $@

fixincl.x: fixincl.tpl inclhack.def
	cd $(srcdir) ; $(SHELL) ./genfixes $@

clean:
	rm -f *.o $(TARGETS) fixincl.x machname.h *~

#  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
	@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
	chmod 755 ../fixinc.sh

Makefile: Makefile.in ../config.status
	cd .. \
	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
	  $(SHELL) ./config.status

check : fixincl
	autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def
	$(SHELL) ./check.sh $(srcdir)/tests/base
	@rm -f ./check.sh