1# The IGEN simulator generator for GDB, the GNU Debugger.
2#
3# Copyright 2002, 2007 Free Software Foundation, Inc.
4#
5# Contributed by Andrew Cagney.
6#
7# This file is part of GDB.
8#
9# This program is free software; you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation; either version 3 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
22default: all
23
24VPATH = @srcdir@
25srcdir = @srcdir@
26srcroot = $(srcdir)/../..
27
28prefix = @prefix@
29exec_prefix = @exec_prefix@
30
31host_alias = @host_alias@
32target_alias = @target_alias@
33program_transform_name = @program_transform_name@
34bindir = @bindir@
35libdir = @libdir@
36tooldir = $(libdir)/$(target_alias)
37
38datadir = @datadir@
39mandir = @mandir@
40man1dir = $(mandir)/man1
41man2dir = $(mandir)/man2
42man3dir = $(mandir)/man3
43man4dir = $(mandir)/man4
44man5dir = $(mandir)/man5
45man6dir = $(mandir)/man6
46man7dir = $(mandir)/man7
47man8dir = $(mandir)/man8
48man9dir = $(mandir)/man9
49infodir = @infodir@
50includedir = @includedir@
51
52SHELL = @SHELL@
53
54INSTALL = @INSTALL@
55INSTALL_PROGRAM = @INSTALL_PROGRAM@
56INSTALL_DATA = @INSTALL_DATA@
57
58AR = @AR@
59CC = @CC@
60CFLAGS = @CFLAGS@
61RANLIB = @RANLIB@
62
63AR_FOR_BUILD = @AR_FOR_BUILD@
64AR_FLAGS_FOR_BUILD = @AR_FLAGS_FOR_BUILD@
65CC_FOR_BUILD = @CC_FOR_BUILD@
66CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
67RANLIB_FOR_BUILD = @RANLIB_FOR_BUILD@
68
69WARN_CFLAGS = @WARN_CFLAGS@
70WERROR_CFLAGS = @WERROR_CFLAGS@
71IGEN_WARN_CFLAGS = $(WARN_CFLAGS)
72IGEN_WERROR_CFLAGS = $(WERROR_CFLAGS)
73
74BISON = bison
75MAKEINFO = makeinfo
76
77.NOEXPORT:
78MAKEOVERRIDES=
79
80LIB_INCLUDES	= -I$(srcdir)/../../include
81INCLUDES	= -I. -I$(srcdir) $(LIB_INCLUDES)
82
83LIBIBERTY_LIB	= @LIBIBERTY_LIB@
84
85BUILD_CFLAGS = \
86	$(CFLAGS_FOR_BUILD) \
87	$(IGEN_WARN_CFLAGS) \
88	$(IGEN_WERROR_CFLAGS) \
89	$(INCLUDES)
90BUILD_LDFLAGS = 
91
92all:	igen
93#all:	tmp-filter tmp-table tmp-ld-insn tmp-ld-cache tmp-ld-decode tmp-gen
94
95.c.o:
96	$(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $<
97
98
99filter_filename.o: filter_filename.c filter_filename.h config.h ppc-config.h
100
101IGEN_OBJS=\
102	table.o \
103	lf.o misc.o \
104	filter_host.o \
105	ld-decode.o \
106	ld-cache.o \
107	filter.o \
108	ld-insn.o \
109	gen-model.o \
110	gen-itable.o \
111	gen-icache.o \
112	gen-semantics.o \
113	gen-idecode.o \
114	gen-support.o \
115	gen-engine.o \
116	gen.o
117
118igen: igen.o $(IGEN_OBJS)
119	$(CC_FOR_BUILD) $(BUILD_LDFLAGS) -o igen igen.o $(IGEN_OBJS) $(LIBIBERTY_LIB)
120
121igen.o: igen.c misc.h filter_host.h lf.h table.h ld-decode.h ld-cache.h ld-insn.h filter.h gen-model.h gen-itable.h gen-icache.h gen-idecode.h gen-engine.h gen-semantics.h gen-support.h gen.h igen.h 
122	$(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/igen.c
123
124tmp-table: table.c table.h misc.o lf.o filter_host.o 
125	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-table -DMAIN $(srcdir)/table.c misc.o lf.o  filter_host.o $(BUILD_LIBS)
126
127tmp-filter: filter.c filter.h lf.o misc.o filter_host.o
128	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-filter -DMAIN $(srcdir)/filter.c lf.o misc.o filter_host.o $(BUILD_LIBS)
129
130tmp-ld-decode: ld-decode.h ld-decode.c filter.o misc.o lf.o table.o filter_host.o gen.h igen.h
131	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-ld-decode -DMAIN $(srcdir)/ld-decode.c filter.o misc.o lf.o table.o filter_host.o $(BUILD_LIBS)
132
133tmp-ld-cache: ld-cache.c ld-cache.h ld-insn.o misc.o lf.o table.o filter_host.o gen.h igen.h
134	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-ld-cache -DMAIN $(srcdir)/ld-cache.c ld-insn.o filter.o misc.o lf.o table.o filter_host.o $(BUILD_LIBS)
135
136tmp-ld-insn: ld-insn.c ld-insn.h misc.o lf.o table.o filter_host.o filter.o gen.h igen.h
137	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-ld-insn -DMAIN $(srcdir)/ld-insn.c misc.o lf.o table.o filter_host.o filter.o $(BUILD_LIBS)
138
139tmp-gen: gen.c gen.h ld-insn.o ld-decode.o misc.o lf.o table.o filter_host.o filter.o gen.h igen.h
140	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-gen -DMAIN $(srcdir)/gen.c misc.o ld-insn.o ld-decode.o lf.o table.o filter_host.o filter.o $(BUILD_LIBS)
141
142filter_host.o: filter_host.c filter_host.h
143table.o: table.c misc.h filter_host.h lf.h table.h
144lf.o: lf.c misc.h filter_host.h lf.h
145filter.o: filter.c misc.h lf.h table.h filter.h
146ld-decode.o: ld-decode.c misc.h lf.h table.h ld-decode.h igen.h
147ld-cache.o: ld-cache.c misc.h lf.h table.h ld-cache.h igen.h
148ld-insn.o: ld-insn.c misc.h lf.h table.h ld-insn.h gen.h igen.h
149gen-model.o: gen-model.c misc.h lf.h table.h gen-model.h ld-decode.h gen.h igen.h ld-insn.h
150gen-itable.o: gen-itable.c misc.h lf.h table.h gen-itable.h ld-decode.h gen.h igen.h ld-insn.h gen.h filter.h
151gen-icache.o: gen-icache.c misc.h lf.h table.h gen-icache.h ld-decode.h gen.h igen.h ld-insn.h gen-semantics.h gen-idecode.h filter.h
152gen-semantics.o: gen-semantics.c misc.h lf.h table.h gen-semantics.h ld-decode.h gen.h igen.h ld-insn.h filter.h
153gen-idecode.o: gen-idecode.c misc.h lf.h table.h gen-idecode.h gen-icache.h gen-semantics.h ld-decode.h gen.h igen.h ld-insn.h  filter.h
154gen-engine.o: gen-engine.c misc.h lf.h table.h gen-idecode.h gen-engine.h gen-icache.h gen-semantics.h ld-decode.h gen.h igen.h ld-insn.h filter.h
155gen-support.o: gen-support.c misc.h lf.h table.h gen-support.h ld-decode.h gen.h igen.h ld-insn.h filter.h
156gen.o: gen.c misc.h lf.h table.h gen-icache.h ld-decode.h gen.h igen.h ld-insn.h gen-semantics.h gen-idecode.h filter.h
157misc.o: misc.c misc.h filter_host.h
158
159
160tags etags: TAGS
161
162TAGS:
163	etags $(srcdir)/*.h $(srcdir)/*.c
164
165clean mostlyclean:
166	rm -f tmp-* *.[oasi] core igen
167
168distclean realclean: clean
169	rm -f TAGS Makefile config.cache config.status config.h defines.h stamp-h config.log
170
171maintainer-clean: distclean
172	rm -f *~ *.log ppc-config.h core *.core
173
174Makefile: Makefile.in config.status
175	CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
176
177config.h: stamp-h ; @true
178stamp-h: config.in config.status
179	CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
180
181config.status: configure
182	$(SHELL) ./config.status --recheck
183
184install:
185#
186