]>
Commit | Line | Data |
---|---|---|
37ee316b CF |
1 | # Copyright (c) 2000, Red Hat, Inc. |
2 | # | |
3 | # This program is free software; you can redistribute it and/or modify | |
4 | # it under the terms of the GNU General Public License as published by | |
5 | # the Free Software Foundation; either version 2 of the License, or | |
6 | # (at your option) any later version. | |
7 | # | |
8 | # A copy of the GNU General Public License can be found at | |
9 | # http://www.gnu.org/ | |
10 | # | |
6dfbe297 | 11 | # Written by Christopher Faylor <cgf@redhat.com> |
37ee316b | 12 | # |
739457f4 | 13 | # Makefile for Cygwin installer |
739457f4 | 14 | |
23c9e63c | 15 | SHELL := @SHELL@ |
739457f4 | 16 | |
23c9e63c DD |
17 | srcdir := @srcdir@ |
18 | VPATH := @srcdir@ | |
19 | prefix := @prefix@ | |
20 | exec_prefix := @exec_prefix@ | |
739457f4 | 21 | |
23c9e63c DD |
22 | bindir := @bindir@ |
23 | etcdir := $(exec_prefix)/etc | |
739457f4 | 24 | |
23c9e63c | 25 | program_transform_name := @program_transform_name@ |
739457f4 | 26 | |
23c9e63c DD |
27 | INSTALL := @INSTALL@ |
28 | INSTALL_PROGRAM := @INSTALL_PROGRAM@ | |
29 | INSTALL_DATA := @INSTALL_DATA@ | |
739457f4 | 30 | |
23c9e63c DD |
31 | EXEEXT := @EXEEXT@ |
32 | EXEEXT_FOR_BUILD := @EXEEXT_FOR_BUILD@ | |
739457f4 | 33 | |
23c9e63c DD |
34 | CC := @CC@ |
35 | CC_FOR_TARGET := $(CC) | |
739457f4 | 36 | |
23c9e63c DD |
37 | CFLAGS := @CFLAGS@ -nostdinc |
38 | CXXFLAGS := @CXXFLAGS@ -fno-exceptions -nostdinc++ -fno-rtti | |
39 | ||
40 | WINDRES := @WINDRES@ | |
41 | OBJCOPY := @OBJCOPY@ | |
739457f4 CF |
42 | |
43 | include $(srcdir)/../Makefile.common | |
44 | ||
5601a13d | 45 | MINGW_INCLUDES := -I. -I$(srcdir) -I$(mingw_source)/include -I$(w32api_include) |
23c9e63c | 46 | |
ad09bcd9 DD |
47 | MINGW_CXXFLAGS := -MMD $(CXXFLAGS) -mno-cygwin $(MINGW_INCLUDES) -mwindows |
48 | MINGW_CFLAGS := -MMD $(CFLAGS) -mno-cygwin $(MINGW_INCLUDES) -mwindows | |
739457f4 | 49 | |
23c9e63c DD |
50 | ZLIB := zlib/libzcygw.a |
51 | libmingw32.a := $(mingw_build)/libmingw32.a | |
52 | libuser32 := $(w32api_lib)/libuser32.a | |
53 | libkernel32 := $(w32api_lib)/libkernel32.a | |
739457f4 | 54 | |
23c9e63c | 55 | ALL_DEP_LDLIBS := $(ZLIB) $(w32api_lib)/libole32.a $(w32api_lib)/libwininet.a \ |
739457f4 CF |
56 | $(w32api_lib)/libnetapi32.a $(w32api_lib)/libadvapi32.a \ |
57 | $(w32api_lib)/libuuid.a $(libkernel32) $(w32api_lib)/libuser32.a \ | |
4306b490 | 58 | $(libmingw32) |
739457f4 | 59 | |
23c9e63c | 60 | ALL_LDLIBS := ${patsubst $(mingw_build)/lib%.a,-l%,\ |
739457f4 | 61 | ${patsubst $(w32api_lib)/lib%.a,-l%,\ |
4306b490 CF |
62 | ${filter-out $(libmingw32),\ |
63 | ${filter-out $(libuser32),\ | |
64 | ${filter-out $(libkernel32), $(ALL_DEP_LDLIBS)}}}}} | |
739457f4 | 65 | |
23c9e63c | 66 | ALL_LDFLAGS := ${filter-out -I%, \ |
739457f4 | 67 | ${filter-out -W%, \ |
4306b490 | 68 | -B$(w32api_lib)/ -B${mingw_build}/ $(MINGW_CFLAGS) $(LDFLAGS)}} |
739457f4 | 69 | |
23c9e63c DD |
70 | PROGS := setup$(EXEEXT) |
71 | ||
72 | OBJS = \ | |
a99bdfd8 | 73 | autoload.o \ |
23c9e63c DD |
74 | choose.o \ |
75 | concat.o \ | |
904d24fe | 76 | desktop.o \ |
23c9e63c DD |
77 | dialog.o \ |
78 | diskfull.o \ | |
79 | download.o \ | |
80 | find.o \ | |
81 | fromcwd.o \ | |
82 | geturl.o \ | |
83 | ini.o \ | |
84 | inilex.o \ | |
85 | iniparse.o \ | |
86 | install.o \ | |
87 | main.o \ | |
88 | mkdir.o \ | |
904d24fe | 89 | mklink2.o \ |
23c9e63c DD |
90 | mount.o \ |
91 | msg.o \ | |
92 | net.o \ | |
93 | netio.o \ | |
94 | nio-ie5.o \ | |
95 | nio-file.o \ | |
96 | other.o \ | |
f57c332f | 97 | postinstall.o \ |
23c9e63c DD |
98 | res.o \ |
99 | root.o \ | |
100 | site.o \ | |
101 | source.o \ | |
8507f105 | 102 | splash.o \ |
23c9e63c DD |
103 | state.o \ |
104 | tar.o \ | |
8507f105 | 105 | version.o \ |
23c9e63c | 106 | $E |
4b40edd0 | 107 | |
739457f4 CF |
108 | .SUFFIXES: |
109 | .NOEXPORT: | |
110 | ||
111 | .PHONY: all install clean realclean | |
112 | ||
113 | all: Makefile $(PROGS) | |
114 | ||
4b40edd0 | 115 | setup$(EXEEXT): $(OBJS) $(ALL_DEP_LDLIBS) |
739457f4 | 116 | ifdef VERBOSE |
23c9e63c | 117 | $(CC) $(MINGW_CXXFLAGS) -o $@ ${filter-out $(ALL_DEP_LIBS),$^} |
739457f4 | 118 | else |
aa32874b | 119 | @echo $(CC) ... -o $@ $(OBJS) |
23c9e63c | 120 | @$(CC) $(MINGW_CXXFLAGS) -o $@ ${filter-out $(ALL_DEP_LIBS),$^} $(ALL_LDFLAGS) $(ALL_LDLIBS) |
739457f4 CF |
121 | endif |
122 | @chmod a-x $@ | |
123 | ||
739457f4 | 124 | clean: |
23c9e63c DD |
125 | rm -f *.o *.rc $(PROGS) |
126 | $(MAKE) -C zlib clean | |
739457f4 CF |
127 | |
128 | realclean: clean | |
129 | rm -f Makefile config.cache | |
130 | ||
131 | install: all | |
132 | $(SHELL) $(updir1)/mkinstalldirs $(bindir) $(etcdir) | |
133 | for i in $(PROGS) ; do \ | |
134 | n=`echo $$i | sed '$(program_transform_name)'`; \ | |
135 | $(INSTALL_PROGRAM) $$i $(bindir)/$$n; \ | |
136 | done | |
137 | ||
4306b490 | 138 | $(libmingw32): $(mingw_build)/Makefile |
739457f4 CF |
139 | @$(MAKE) -C $(@D) $(@F) |
140 | ||
7b777418 | 141 | $(ZLIB): zlib/Makefile |
23c9e63c | 142 | $(MAKE) -C $(@D) $(@F) CC="$(CC)" CFLAGS='$(MINGW_CFLAGS)' |
739457f4 | 143 | |
8507f105 DD |
144 | version.c : $(srcdir)/ChangeLog Makefile |
145 | grep '^\$$Revision.*' $(srcdir)/ChangeLog \ | |
1ef75d7e DD |
146 | | sed -e 's/\$$Revision: /char *version = \"/' \ |
147 | -e 's/ *$$.*/\";/' \ | |
8507f105 DD |
148 | > version.tmp |
149 | mv version.tmp version.c | |
150 | ||
739457f4 | 151 | %.o: %.rc |
ad09bcd9 DD |
152 | ifdef VERBOSE |
153 | $(WINDRES) --include-dir $(srcdir) -o $@ $< | |
154 | else | |
155 | @echo $(WINDRES) -o $@ $(<F) | |
156 | @$(WINDRES) --include-dir $(srcdir) -o $@ $< | |
157 | endif | |
99d1bf2d | 158 | |
739457f4 CF |
159 | %.o: %.c |
160 | ifdef VERBOSE | |
ad09bcd9 | 161 | $(CC) $(MINGW_CFLAGS) -c -o $@ $< |
739457f4 | 162 | else |
ad09bcd9 DD |
163 | @echo $(CC) -c $(CFLAGS) ... $(<F) |
164 | @$(CC) $(MINGW_CFLAGS) -c -o $@ $< | |
739457f4 | 165 | endif |
23c9e63c DD |
166 | |
167 | %.o: %.cc | |
168 | ifdef VERBOSE | |
ad09bcd9 | 169 | $(CC) $(MINGW_CXXFLAGS) -c -o $@ $*.cc |
23c9e63c | 170 | else |
ad09bcd9 DD |
171 | @echo $(CC) -c $(CXXFLAGS) ... $(<F) |
172 | @$(CC) $(MINGW_CXXFLAGS) -c -o $@ $< | |
23c9e63c DD |
173 | endif |
174 | ||
175 | iniparse.c iniparse.h : iniparse.y | |
176 | bison -d -o iniparse.c $(srcdir)/iniparse.y | |
177 | ||
178 | inilex.c : inilex.l iniparse.h | |
179 | flex -8 $(srcdir)/inilex.l | |
180 | mv lex.yy.c inilex.c | |
ad09bcd9 DD |
181 | |
182 | D=$(wildcard *.d) | |
183 | ifneq ($D,) | |
184 | include $D | |
185 | endif |