1# The IGEN simulator generator for GDB, the GNU Debugger.
2#
3# Copyright 2002 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 2 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, write to the Free Software
21# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
23default: all
24
25VPATH = @srcdir@
26srcdir = @srcdir@
27srcroot = $(srcdir)/../..
28
29prefix = @prefix@
30exec_prefix = @exec_prefix@
31
32host_alias = @host_alias@
33target_alias = @target_alias@
34program_transform_name = @program_transform_name@
35bindir = @bindir@
36libdir = @libdir@
37tooldir = $(libdir)/$(target_alias)
38
39datadir = @datadir@
40mandir = @mandir@
41man1dir = $(mandir)/man1
42man2dir = $(mandir)/man2
43man3dir = $(mandir)/man3
44man4dir = $(mandir)/man4
45man5dir = $(mandir)/man5
46man6dir = $(mandir)/man6
47man7dir = $(mandir)/man7
48man8dir = $(mandir)/man8
49man9dir = $(mandir)/man9
50infodir = @infodir@
51includedir = @includedir@
52
53SHELL = @SHELL@
54
55INSTALL = @INSTALL@
56INSTALL_PROGRAM = @INSTALL_PROGRAM@
57INSTALL_DATA = @INSTALL_DATA@
58
59AR = @AR@
60CC = @CC@
61CFLAGS = @CFLAGS@
62RANLIB = @RANLIB@
63
64AR_FOR_BUILD = @AR_FOR_BUILD@
65AR_FLAGS_FOR_BUILD = @AR_FLAGS_FOR_BUILD@
66CC_FOR_BUILD = @CC_FOR_BUILD@
67CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
68RANLIB_FOR_BUILD = @RANLIB_FOR_BUILD@
69
70WARN_CFLAGS = @WARN_CFLAGS@
71WERROR_CFLAGS = @WERROR_CFLAGS@
72IGEN_WARN_CFLAGS = $(WARN_CFLAGS)
73IGEN_WERROR_CFLAGS = $(WERROR_CFLAGS)
74
75BISON = bison
76MAKEINFO = makeinfo
77
78.NOEXPORT:
79MAKEOVERRIDES=
80
81LIB_INCLUDES	= -I$(srcdir)/../../include
82INCLUDES	= -I. -I$(srcdir) $(LIB_INCLUDES)
83
84LIBIBERTY_LIB	= @LIBIBERTY_LIB@
85
86BUILD_CFLAGS = \
87	$(CFLAGS_FOR_BUILD) \
88	$(IGEN_WARN_CFLAGS) \
89	$(IGEN_WERROR_CFLAGS) \
90	$(INCLUDES)
91BUILD_LDFLAGS =
92
93all:	igen
94#all:	tmp-filter tmp-table tmp-ld-insn tmp-ld-cache tmp-ld-decode tmp-gen
95
96.c.o:
97	$(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $<
98
99
100filter_filename.o: filter_filename.c filter_filename.h config.h ppc-config.h
101
102IGEN_OBJS=\
103	table.o \
104	lf.o misc.o \
105	filter_host.o \
106	ld-decode.o \
107	ld-cache.o \
108	filter.o \
109	ld-insn.o \
110	gen-model.o \
111	gen-itable.o \
112	gen-icache.o \
113	gen-semantics.o \
114	gen-idecode.o \
115	gen-support.o \
116	gen-engine.o \
117	gen.o
118
119igen: igen.o $(IGEN_OBJS)
120	$(CC_FOR_BUILD) $(BUILD_LDFLAGS) -o igen igen.o $(IGEN_OBJS) $(LIBIBERTY_LIB)
121
122igen.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
123	$(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/igen.c
124
125tmp-table: table.c table.h misc.o lf.o filter_host.o
126	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-table -DMAIN $(srcdir)/table.c misc.o lf.o  filter_host.o $(BUILD_LIBS)
127
128tmp-filter: filter.c filter.h lf.o misc.o filter_host.o
129	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-filter -DMAIN $(srcdir)/filter.c lf.o misc.o filter_host.o $(BUILD_LIBS)
130
131tmp-ld-decode: ld-decode.h ld-decode.c filter.o misc.o lf.o table.o filter_host.o gen.h igen.h
132	$(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)
133
134tmp-ld-cache: ld-cache.c ld-cache.h ld-insn.o misc.o lf.o table.o filter_host.o gen.h igen.h
135	$(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)
136
137tmp-ld-insn: ld-insn.c ld-insn.h misc.o lf.o table.o filter_host.o filter.o gen.h igen.h
138	$(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)
139
140tmp-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
141	$(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)
142
143filter_host.o: filter_host.c filter_host.h
144table.o: table.c misc.h filter_host.h lf.h table.h
145lf.o: lf.c misc.h filter_host.h lf.h
146filter.o: filter.c misc.h lf.h table.h filter.h
147ld-decode.o: ld-decode.c misc.h lf.h table.h ld-decode.h igen.h
148ld-cache.o: ld-cache.c misc.h lf.h table.h ld-cache.h igen.h
149ld-insn.o: ld-insn.c misc.h lf.h table.h ld-insn.h gen.h igen.h
150gen-model.o: gen-model.c misc.h lf.h table.h gen-model.h ld-decode.h gen.h igen.h ld-insn.h
151gen-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
152gen-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
153gen-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
154gen-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
155gen-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
156gen-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
157gen.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
158misc.o: misc.c misc.h filter_host.h
159
160
161tags etags: TAGS
162
163TAGS:
164	etags $(srcdir)/*.h $(srcdir)/*.c
165
166clean mostlyclean:
167	rm -f tmp-* *.[oasi] core igen
168
169distclean realclean: clean
170	rm -f TAGS Makefile config.cache config.status config.h defines.h stamp-h config.log
171
172maintainer-clean: distclean
173	rm -f *~ *.log ppc-config.h core *.core
174
175Makefile: Makefile.in config.status
176	CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
177
178config.h: stamp-h ; @true
179stamp-h: config.in config.status
180	CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
181
182config.status: configure
183	$(SHELL) ./config.status --recheck
184
185install:
186#
187