1#	Id	
2#	$NetBSD: Makefile.in,v 1.1.1.1 2016/02/09 20:29:11 plunky Exp $
3#
4# Makefile.in for the front end driver of PCC
5#
6
7srcdir=@srcdir@
8top_srcdir=@top_srcdir@
9top_builddir=@top_builddir@
10bindir=@bindir@
11libdir=@libdir@
12libexecdir=@libexecdir@
13includedir=@includedir@
14mandir=@mandir@
15man1dir=$(mandir)/man1
16man1ext=.1
17EXEEXT=@EXEEXT@
18CC=@CC@
19SHELL=@SHELL@
20TARGOS=@targos@
21TARGOSVER=@targosver@
22TARGMACH=@targmach@
23TARGET=@target@
24VERSION=@PACKAGE_VERSION@
25CFLAGS=@CFLAGS@ @ADD_CFLAGS@
26CPPFLAGS=@CPPFLAGS@ @ADD_CPPFLAGS@ \
27	-DLIBEXECDIR=\"$(libexecdir)/\" \
28	-DINCLUDEDIR=\"$(includedir)/\" \
29	-DPCCINCDIR=\"$(libdir)/pcc/$(TARGET)/$(VERSION)/include\" \
30	-DPCCLIBDIR=\"$(libdir)/pcc/$(TARGET)/$(VERSION)/lib\" \
31	-I$(top_builddir) -I$(top_srcdir)/os/$(TARGOS) -I$(MIPDIR)
32LIBS=@LIBS@
33LDFLAGS=@LDFLAGS@
34INSTALL=@INSTALL@
35INSTALL_PROGRAM=@INSTALL_PROGRAM@
36INSTALL_DATA=@INSTALL_DATA@
37
38# and fix these in configure.ac
39TARGETS=amd64 i386
40PROGRAMS=cc cpp c++ ftn
41
42MIPDIR=$(top_srcdir)/mip
43
44DEST=	driver
45OBJS=	compat.o driver.o list.o opt.o options.o target.o xalloc.o
46
47HDRS=	$(srcdir)/driver.h
48
49all: $(DEST)
50
51$(DEST) $(OBJS)
52	$(CC) $(LDFLAGS) $(OBJS) -o $@ $(LIBS)
53
54$(OBJS): $(HDRS)
55
56compat.o: $(MIPDIR)/compat.c
57	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(MIPDIR)/compat.c
58
59driver.o: $(srcdir)/driver.c
60	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/driver.c
61
62list.o: $(srcdir)/list.c $(srcdir)
63	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/list.c
64
65opt.c: $(srcdir)/mkopt.sh
66	$(SHELL) $(srcdir)/mkopt.sh > $@
67
68opt.o: opt.c
69	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ opt.c
70
71options.o: $(srcdir)/options.c
72	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/options.c
73
74xalloc.o: $(srcdir)/xalloc.c
75	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(srcdir)/xalloc.c
76
77target.i: $(srcdir)/target.c
78	@for t in $(TARGETS); do \
79		$(CC) $(CFLAGS) $(CPPFLAGS) \
80		    -I../os/$(TARGOS) -Dos_$(TARGOS) \
81		    -DTARGOS=\"$(TARGOS)\" -DTARGOSVER=$(TARGOSVER) \
82		    -I../arch/$${t} -Dmach_$${t} \
83		    -DTARGMACH=\"$${t}\" \
84		    -DTARGET=targ_$${t} -E $(srcdir)/target.c ; \
85	done > $@
86
87target.o: target.i
88	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ target.i
89
90install: $(DEST)
91	test -z "$(DESTDIR)$(bindir)" || mkdir -p $(DESTDIR)$(bindir)
92	test -z "$(DESTDIR)$(man1dir)" || mkdir -p $(DESTDIR)$(man1dir)
93	@for p in $(PROGRAMS); do				\
94		$(INSTALL_PROGRAM) $(DEST)			\
95		    $(DESTDIR)$(bindir)/$${p}$(EXEEXT) ;	\
96		$(INSTALL_DATA) $(srcdir)/driver.man		\
97		    $(DESTDIR)$(man1dir)/$${p}$(man1ext) ;	\
98	done
99	test -z "$(DESTDIR)$(PCCINCDIR)" || mkdir -p "$(DESTDIR)$(PCCINCDIR)"
100	test -z "$(DESTDIR)$(PCCLIBDIR)" || mkdir -p "$(DESTDIR)$(PCCLIBDIR)"
101
102clean:
103	rm -f $(DEST) $(OBJS) target.i
104
105distclean: clean
106	rm -f Makefile
107