1#	Id: Makefile.in,v 1.42 2012/03/15 09:22:12 plunky Exp 	
2#	$NetBSD: Makefile.in,v 1.1.1.5 2012/03/26 14:26:46 plunky Exp $
3#
4# Makefile.in for ccom
5#
6VPATH=@srcdir@
7srcdir=@srcdir@
8top_srcdir=@top_srcdir@
9builddir=@builddir@
10top_builddir=@top_builddir@
11CC = @CC@
12EXEEXT = @EXEEXT@
13CC_FOR_BUILD = @CC_FOR_BUILD@
14CFLAGS = @CFLAGS@ @ADD_CFLAGS@
15CPPFLAGS = @CPPFLAGS@ @ADD_CPPFLAGS@ -D_ISOC99_SOURCE \
16	-Dos_$(TARGOS) -Dmach_$(TARGMACH) \
17	-I$(srcdir) -I$(builddir) -I$(top_builddir) -I$(MIPDIR) -I$(MDIR) \
18	-I$(top_srcdir)/os/$(TARGOS)
19LIBS = @LIBS@
20LDFLAGS = @LDFLAGS@
21LEX = @LEX@
22LFLAGS =
23LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
24YACC = @YACC@
25YFLAGS = @YFLAGS@
26TARGOS = @targos@
27TARGOSVER = @targosver@
28TARGMACH = @targmach@
29prefix = @prefix@
30exec_prefix = @exec_prefix@
31libexecdir = @libexecdir@
32datarootdir = @datarootdir@
33mandir = @mandir@
34strip = @strip@
35INSTALL = @INSTALL@
36INSTALL_PROGRAM = @INSTALL_PROGRAM@
37INSTALL_DATA = @INSTALL_DATA@
38
39MDIR=$(top_srcdir)/arch/$(TARGMACH)
40MIPDIR=$(top_srcdir)/mip
41
42DEST=@BINPREFIX@ccom$(EXEEXT)
43MKEXT=mkext$(EXEEXT)
44
45all: $(DEST)
46
47OBJS=	builtins.o cgram.o code.o common.o compat.o external.o		\
48	gcc_compat.o init.o inline.o local.o local2.o main.o		\
49	match.o optim.o optim2.o order.o pftn.o reader.o		\
50	regs.o scan.o stabs.o symtabs.o table.o trees.o
51
52LOBJS=	mkext.lo common.lo table.lo
53
54HDRS=	$(srcdir)/pass1.h $(MIPDIR)/pass2.h $(MIPDIR)/manifest.h	\
55	$(MDIR)/macdefs.h $(MIPDIR)/node.h $(MIPDIR)/compat.h
56
57#
58# round 1: generate external.[ch], cgram.[ch] & scan.c
59#
60
61$(LOBJS): $(HDRS)
62
63mkext.lo: $(MIPDIR)/mkext.c
64	$(CC_FOR_BUILD) $(CFLAGS) $(CPPFLAGS) -DMKEXT -c -o $@ $(MIPDIR)/mkext.c
65
66common.lo: $(MIPDIR)/common.c
67	$(CC_FOR_BUILD) $(CFLAGS) $(CPPFLAGS) -DMKEXT -c -o $@ $(MIPDIR)/common.c
68
69table.lo: $(MDIR)/table.c
70	$(CC_FOR_BUILD) $(CFLAGS) $(CPPFLAGS) -DMKEXT -c -o $@ $(MDIR)/table.c
71
72$(MKEXT): $(LOBJS)
73	$(CC_FOR_BUILD) $(LDFLAGS) $(LOBJS) -o $@ $(LIBS)
74
75external.c: $(MKEXT)
76	$(builddir)/$(MKEXT)
77
78cgram.c: $(srcdir)/cgram.y
79	$(YACC) $(YFLAGS) -d $(srcdir)/cgram.y
80	mv -f y.tab.c cgram.c
81	mv -f y.tab.h cgram.h
82
83scan.c: $(srcdir)/scan.l
84	$(LEX) $(LFLAGS) $(srcdir)/scan.l
85	mv -f $(LEX_OUTPUT_ROOT).c scan.c
86
87#
88# round 2: compile $(OBJS)
89#
90
91$(OBJS): $(HDRS) external.c cgram.c
92
93builtins.o: $(srcdir)/builtins.c
94	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/builtins.c
95
96cgram.o: cgram.c
97	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ cgram.c
98
99code.o: $(MDIR)/code.c
100	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MDIR)/code.c
101
102common.o: $(MIPDIR)/common.c
103	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MIPDIR)/common.c
104
105compat.o: $(MIPDIR)/compat.c
106	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MIPDIR)/compat.c
107
108external.o: external.c
109	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ external.c
110
111gcc_compat.o: $(srcdir)/gcc_compat.c
112	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/gcc_compat.c
113
114init.o: $(srcdir)/init.c
115	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/init.c
116
117inline.o: $(srcdir)/inline.c
118	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/inline.c
119
120local.o: $(MDIR)/local.c
121	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MDIR)/local.c
122
123local2.o: $(MDIR)/local2.c
124	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MDIR)/local2.c
125
126main.o: $(srcdir)/main.c
127	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/main.c
128
129match.o: $(MIPDIR)/match.c
130	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MIPDIR)/match.c
131
132optim.o: $(srcdir)/optim.c
133	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/optim.c
134
135optim2.o: $(MIPDIR)/optim2.c
136	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MIPDIR)/optim2.c
137
138order.o: $(MDIR)/order.c
139	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MDIR)/order.c
140
141pftn.o: $(srcdir)/pftn.c
142	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/pftn.c
143
144reader.o: $(MIPDIR)/reader.c
145	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MIPDIR)/reader.c
146
147regs.o: $(MIPDIR)/regs.c
148	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MIPDIR)/regs.c
149
150scan.o: scan.c
151	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ scan.c
152
153stabs.o: $(srcdir)/stabs.c
154	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/stabs.c
155
156symtabs.o: $(srcdir)/symtabs.c
157	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/symtabs.c
158
159table.o: $(MDIR)/table.c
160	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MDIR)/table.c
161
162trees.o: $(srcdir)/trees.c
163	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/trees.c
164
165#
166# round 3: build $(DEST)
167#
168
169$(DEST): $(OBJS)
170	$(CC) $(LDFLAGS) $(OBJS) -o $@ $(LIBS)
171
172install: $(DEST)
173	test -z "$(DESTDIR)$(libexecdir)" || mkdir -p "$(DESTDIR)$(libexecdir)"
174	$(INSTALL_PROGRAM) $(DEST) $(DESTDIR)$(libexecdir)
175	@if [ $(strip) = yes ]; then				\
176		strip $(DESTDIR)$(libexecdir)/$(DEST) ;		\
177		echo strip $(DESTDIR)$(libexecdir)/$(DEST) ;	\
178	fi
179	test -z "$(DESTDIR)$(mandir)/man1" || mkdir -p "$(DESTDIR)$(mandir)/man1"
180	$(INSTALL_DATA) $(srcdir)/ccom.1 $(DESTDIR)$(mandir)/man1/$(DEST).1
181
182clean:
183	rm -f $(DEST) $(OBJS) $(MKEXT) $(LOBJS) $(LEX_OUTPUT_ROOT).c	\
184	    scan.c y.tab.[ch] cgram.[ch] external.[ch]
185
186distclean: clean
187	rm -f Makefile
188