]> cygwin.com Git - cygwin-apps/setup.git/blob - Makefile.in
* Makefile.in: Augment clean target.
[cygwin-apps/setup.git] / Makefile.in
1 # Makefile for Cygwin installer
2 # Copyright 1996, 1997, 1998, 1999, 2000 Cygnus Solutions.
3
4 # This file is part of Cygwin.
5
6 # This software is a copyrighted work licensed under the terms of the
7 # Cygwin license. Please consult the file "CYGWIN_LICENSE" for
8 # details.
9
10 SHELL:=@SHELL@
11
12 srcdir:=@srcdir@
13 VPATH:=@srcdir@
14 prefix:=@prefix@
15 exec_prefix:=@exec_prefix@
16
17 bindir:=@bindir@
18 etcdir:=$(exec_prefix)/etc
19 program_transform_name:=@program_transform_name@
20
21 INSTALL:=@INSTALL@
22 INSTALL_PROGRAM:=@INSTALL_PROGRAM@
23 INSTALL_DATA:=@INSTALL_DATA@
24
25 EXEEXT:=@EXEEXT@
26 EXEEXT_FOR_BUILD:=@EXEEXT_FOR_BUILD@
27
28 CC:=@CC@
29 CC_FOR_TARGET:=$(CC)
30
31 CFLAGS:=@CFLAGS@ -nostdinc
32 CXXFLAGS:=@CXXFLAGS@ -fno-exceptions -nostdinc++ -fno-rtti
33
34 WINDRES:=@WINDRES@
35 OBJCOPY:=@OBJCOPY@
36
37 include $(srcdir)/../Makefile.common
38
39 MINGW_INCLUDES:=-I$(mingw_source)/include -I$(w32api_include)
40
41 MINGW_CXXFLAGS:=$(CXXFLAGS) -mno-cygwin $(MINGW_INCLUDES)
42 MINGW_CFLAGS:=$(CFLAGS) -mno-cygwin $(MINGW_INCLUDES)
43
44 ZLIB=zlib/libzcygw.a
45 libmingw32.a:=$(mingw_build)/libmingw32.a
46 libuser32:=$(w32api_lib)/libuser32.a
47 libkernel32:=$(w32api_lib)/libkernel32.a
48 ALL_DEP_LDLIBS:=$(ZLIB) $(w32api_lib)/libole32.a $(w32api_lib)/libwininet.a \
49 $(w32api_lib)/libnetapi32.a $(w32api_lib)/libadvapi32.a \
50 $(w32api_lib)/libuuid.a $(libkernel32) $(w32api_lib)/libuser32.a \
51 $(libmingw32)
52
53 ALL_LDLIBS:=${patsubst $(mingw_build)/lib%.a,-l%,\
54 ${patsubst $(w32api_lib)/lib%.a,-l%,\
55 ${filter-out $(libmingw32),\
56 ${filter-out $(libuser32),\
57 ${filter-out $(libkernel32), $(ALL_DEP_LDLIBS)}}}}}
58
59 ALL_LDFLAGS:=${filter-out -I%, \
60 ${filter-out -W%, \
61 -B$(w32api_lib)/ -B${mingw_build}/ $(MINGW_CFLAGS) $(LDFLAGS)}}
62
63 PROGS:=setup$(EXEEXT)
64
65 BUNDLED_FILES:=cygwin1.dll.gz $(srcdir)/tar.exe.gz $(srcdir)/gzip.exe.gz \
66 mount.exe.gz cygpath.exe.gz
67 .SUFFIXES:
68 .NOEXPORT:
69
70 .PHONY: all install clean realclean
71 .PRECIOUS: $(utils_build)/cygpath.exe $(utils_build)/mount.exe $(cygwin_build)/new-cygwin1.dll
72
73 all: Makefile $(PROGS)
74
75 setup$(EXEEXT): error.o memory.o setup.o strarry.o cinstall.o $(ALL_DEP_LDLIBS)
76 ifdef VERBOSE
77 $(CC) -o $@ ${wordlist 1,5,$^} $(ALL_LDFLAGS) $(ALL_LDLIBS)
78 else
79 @echo $(CC) -o $@ ${wordlist 1,5,$^} ${filter-out -B%, $(ALL_LDFLAGS) $(ALL_LDLIBS)};\
80 $(CC) -o $@ ${wordlist 1,5,$^} $(ALL_LDFLAGS) $(ALL_LDLIBS)
81 endif
82 @chmod a-x $@
83
84 mingw_getopt.o: $(cygwin_source)/getopt.c
85 $(CC) -c -o $@ $(MINGW_CFLAGS) $^
86
87 clean:
88 rm -f *.o *.rc $(PROGS) zlib/*.o zlib/*.a *.exe *.gz
89
90 realclean: clean
91 rm -f Makefile config.cache
92
93 install: all
94 $(SHELL) $(updir1)/mkinstalldirs $(bindir) $(etcdir)
95 for i in $(PROGS) ; do \
96 n=`echo $$i | sed '$(program_transform_name)'`; \
97 $(INSTALL_PROGRAM) $$i $(bindir)/$$n; \
98 done
99
100 $(libmingw32): $(mingw_build)/Makefile
101 @$(MAKE) -C $(@D) $(@F)
102
103 $(ZLIB): zlib/Makefile
104 $(MAKE) -C $(@D) $(@F) CFLAGS='$(MINGW_CFLAGS)'
105
106 %.exe.gz: %.exe
107 gzip -9nf $?
108
109 %.exe: $(utils_build)/%.exe
110 $(OBJCOPY) --strip-unneeded $? $@
111
112 $(utils_build)/%.exe: $(utils_build)/Makefile
113 @$(MAKE) -C $(utils_build) $(@F)
114
115 %.dll.gz: %.dll
116 gzip -9nf $?
117
118 %.dll: $(cygwin_build)/new-%.dll
119 $(OBJCOPY) --strip-unneeded $? $@
120
121 $(cygwin_build)/%.dll: $(cygwin_build)/Makefile
122 @$(MAKE) -C $(@D) $(@F)
123
124 cinstall.rc: $(BUNDLED_FILES)
125 for f in $^; do \
126 echo `basename $$f .gz` FILE DISCARDABLE '"'$$f'"'; \
127 done > $@
128
129 %.o: %.rc
130 $(WINDRES) -o $@ $?
131
132 %.o: %.c
133 ifdef VERBOSE
134 $(CC) $(MINGW_CFLAGS) -c -o $@ $?
135 else
136 @echo $(CC) -c -o $@ $? ${filter-out -B%, $(MINGW_CFLAGS)};\
137 $(CC) $(MINGW_CFLAGS) -c -o $@ $?
138 endif
This page took 0.044947 seconds and 6 git commands to generate.