]>
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) | |
72826a5b | 36 | CXX := @CXX@ |
739457f4 | 37 | |
23c9e63c | 38 | CFLAGS := @CFLAGS@ -nostdinc |
a351e48c | 39 | CXXFLAGS := @CXXFLAGS@ $(CFLAGS) -fno-exceptions -fno-rtti |
72826a5b | 40 | CXX := @CXX@ |
23c9e63c DD |
41 | |
42 | WINDRES := @WINDRES@ | |
43 | OBJCOPY := @OBJCOPY@ | |
739457f4 CF |
44 | |
45 | include $(srcdir)/../Makefile.common | |
46 | ||
fb087b80 | 47 | MINGW_INCLUDES := -I. -I$(srcdir) -I$(mingw_source)/include -I$(w32api_include) -I$(updir)/bz2lib |
23c9e63c | 48 | |
ad09bcd9 DD |
49 | MINGW_CXXFLAGS := -MMD $(CXXFLAGS) -mno-cygwin $(MINGW_INCLUDES) -mwindows |
50 | MINGW_CFLAGS := -MMD $(CFLAGS) -mno-cygwin $(MINGW_INCLUDES) -mwindows | |
739457f4 | 51 | |
23c9e63c | 52 | ZLIB := zlib/libzcygw.a |
fb087b80 | 53 | BZ2LIB := $(bupdir)/bz2lib/libbz2.a |
23c9e63c DD |
54 | libmingw32.a := $(mingw_build)/libmingw32.a |
55 | libuser32 := $(w32api_lib)/libuser32.a | |
56 | libkernel32 := $(w32api_lib)/libkernel32.a | |
739457f4 | 57 | |
fb087b80 | 58 | ALL_DEP_LDLIBS := $(ZLIB) $(BZ2LIB) $(w32api_lib)/libole32.a $(w32api_lib)/libwsock32.a \ |
739457f4 CF |
59 | $(w32api_lib)/libnetapi32.a $(w32api_lib)/libadvapi32.a \ |
60 | $(w32api_lib)/libuuid.a $(libkernel32) $(w32api_lib)/libuser32.a \ | |
4306b490 | 61 | $(libmingw32) |
739457f4 | 62 | |
23c9e63c | 63 | ALL_LDLIBS := ${patsubst $(mingw_build)/lib%.a,-l%,\ |
739457f4 | 64 | ${patsubst $(w32api_lib)/lib%.a,-l%,\ |
4306b490 CF |
65 | ${filter-out $(libmingw32),\ |
66 | ${filter-out $(libuser32),\ | |
67 | ${filter-out $(libkernel32), $(ALL_DEP_LDLIBS)}}}}} | |
739457f4 | 68 | |
23c9e63c | 69 | ALL_LDFLAGS := ${filter-out -I%, \ |
739457f4 | 70 | ${filter-out -W%, \ |
4306b490 | 71 | -B$(w32api_lib)/ -B${mingw_build}/ $(MINGW_CFLAGS) $(LDFLAGS)}} |
739457f4 | 72 | |
23c9e63c DD |
73 | PROGS := setup$(EXEEXT) |
74 | ||
75 | OBJS = \ | |
a99bdfd8 | 76 | autoload.o \ |
23c9e63c DD |
77 | choose.o \ |
78 | concat.o \ | |
904d24fe | 79 | desktop.o \ |
23c9e63c DD |
80 | dialog.o \ |
81 | diskfull.o \ | |
82 | download.o \ | |
83 | find.o \ | |
84 | fromcwd.o \ | |
85 | geturl.o \ | |
4a83b7b0 | 86 | hash.o \ |
23c9e63c DD |
87 | ini.o \ |
88 | inilex.o \ | |
89 | iniparse.o \ | |
90 | install.o \ | |
c92e1307 | 91 | localdir.o \ |
89b1a15b | 92 | log.o \ |
23c9e63c DD |
93 | main.o \ |
94 | mkdir.o \ | |
904d24fe | 95 | mklink2.o \ |
23c9e63c DD |
96 | mount.o \ |
97 | msg.o \ | |
98 | net.o \ | |
99 | netio.o \ | |
100 | nio-ie5.o \ | |
101 | nio-file.o \ | |
4a83b7b0 DD |
102 | nio-ftp.o \ |
103 | nio-http.o \ | |
23c9e63c | 104 | other.o \ |
f57c332f | 105 | postinstall.o \ |
23c9e63c DD |
106 | res.o \ |
107 | root.o \ | |
4a83b7b0 | 108 | simpsock.o \ |
23c9e63c DD |
109 | site.o \ |
110 | source.o \ | |
8507f105 | 111 | splash.o \ |
23c9e63c DD |
112 | state.o \ |
113 | tar.o \ | |
8507f105 | 114 | version.o \ |
23c9e63c | 115 | $E |
4b40edd0 | 116 | |
739457f4 CF |
117 | .SUFFIXES: |
118 | .NOEXPORT: | |
119 | ||
120 | .PHONY: all install clean realclean | |
121 | ||
122 | all: Makefile $(PROGS) | |
123 | ||
4b40edd0 | 124 | setup$(EXEEXT): $(OBJS) $(ALL_DEP_LDLIBS) |
739457f4 | 125 | ifdef VERBOSE |
25fb9139 | 126 | $(CXX) $(MINGW_CXXFLAGS) -o $@ ${filter-out $(ALL_DEP_LIBS),$^} |
739457f4 | 127 | else |
25fb9139 CF |
128 | @echo $(CXX) ... -o $@ $(OBJS) |
129 | @$(CXX) $(MINGW_CXXFLAGS) -o $@ ${filter-out $(ALL_DEP_LIBS),$^} $(ALL_LDFLAGS) $(ALL_LDLIBS) | |
739457f4 CF |
130 | endif |
131 | @chmod a-x $@ | |
132 | ||
739457f4 | 133 | clean: |
e227ee24 | 134 | rm -f *.o $(PROGS) |
23c9e63c | 135 | $(MAKE) -C zlib clean |
739457f4 CF |
136 | |
137 | realclean: clean | |
138 | rm -f Makefile config.cache | |
139 | ||
140 | install: all | |
141 | $(SHELL) $(updir1)/mkinstalldirs $(bindir) $(etcdir) | |
142 | for i in $(PROGS) ; do \ | |
143 | n=`echo $$i | sed '$(program_transform_name)'`; \ | |
144 | $(INSTALL_PROGRAM) $$i $(bindir)/$$n; \ | |
145 | done | |
146 | ||
4306b490 | 147 | $(libmingw32): $(mingw_build)/Makefile |
739457f4 CF |
148 | @$(MAKE) -C $(@D) $(@F) |
149 | ||
7b777418 | 150 | $(ZLIB): zlib/Makefile |
23c9e63c | 151 | $(MAKE) -C $(@D) $(@F) CC="$(CC)" CFLAGS='$(MINGW_CFLAGS)' |
739457f4 | 152 | |
fb087b80 CF |
153 | $(BZ2LIB): $(bupdir)/bz2lib/Makefile |
154 | $(MAKE) -C $(@D) $(@F) CC="$(CC)" CFLAGS='$(MINGW_CFLAGS)' | |
155 | ||
8507f105 | 156 | version.c : $(srcdir)/ChangeLog Makefile |
2e9cbac5 DD |
157 | V=`grep '^\$$Revision.*' $(srcdir)/ChangeLog \ |
158 | | sed -e 's/\$$Revision:* *//' \ | |
159 | -e 's/ *$$.*//'` ;\ | |
13d27274 DD |
160 | echo "char *version = \"$$V\";" > version.tmp ;\ |
161 | echo "static char *id = \"\\n%%% setup-version $$V\\n\";" >> version.tmp | |
8507f105 DD |
162 | mv version.tmp version.c |
163 | ||
739457f4 | 164 | %.o: %.rc |
ad09bcd9 | 165 | ifdef VERBOSE |
577f35ed | 166 | $(WINDRES) --include-dir $(srcdir) --include-dir $(w32api_include) -o $@ $< |
ad09bcd9 DD |
167 | else |
168 | @echo $(WINDRES) -o $@ $(<F) | |
577f35ed | 169 | @$(WINDRES) --include-dir $(srcdir) --include-dir $(w32api_include) -o $@ $< |
ad09bcd9 | 170 | endif |
99d1bf2d | 171 | |
739457f4 CF |
172 | %.o: %.c |
173 | ifdef VERBOSE | |
ad09bcd9 | 174 | $(CC) $(MINGW_CFLAGS) -c -o $@ $< |
739457f4 | 175 | else |
ad09bcd9 DD |
176 | @echo $(CC) -c $(CFLAGS) ... $(<F) |
177 | @$(CC) $(MINGW_CFLAGS) -c -o $@ $< | |
739457f4 | 178 | endif |
23c9e63c DD |
179 | |
180 | %.o: %.cc | |
181 | ifdef VERBOSE | |
72826a5b | 182 | $(CXX) $(MINGW_CXXFLAGS) -c -o $@ $< |
23c9e63c | 183 | else |
72826a5b CF |
184 | @echo $(CXX) -c $(CXXFLAGS) ... $(<F) |
185 | @$(CXX) $(MINGW_CXXFLAGS) -c -o $@ $< | |
23c9e63c DD |
186 | endif |
187 | ||
38f5563e DD |
188 | autoload.o: autoload.c |
189 | ifdef VERBOSE | |
190 | $(CC) $(MINGW_CFLAGS) -c -o $@ $< -fno-inline-functions | |
191 | else | |
192 | @echo $(CC) -c $(CFLAGS) ... $(<F) -fno-inline-functions | |
193 | @$(CC) $(MINGW_CFLAGS) -c -o $@ $< -fno-inline-functions | |
194 | endif | |
195 | ||
23c9e63c DD |
196 | iniparse.c iniparse.h : iniparse.y |
197 | bison -d -o iniparse.c $(srcdir)/iniparse.y | |
198 | ||
199 | inilex.c : inilex.l iniparse.h | |
200 | flex -8 $(srcdir)/inilex.l | |
201 | mv lex.yy.c inilex.c | |
ad09bcd9 DD |
202 | |
203 | D=$(wildcard *.d) | |
204 | ifneq ($D,) | |
205 | include $D | |
206 | endif |