]> cygwin.com Git - cygwin-apps/setup.git/blob - Makefile.in
* Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
[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 OBJS:=error.o memory.o setup.o strarry.o cinstall.o path.o xsystem.o
66
67 BUNDLED_FILES:=cygwin1.dll.gz $(srcdir)/tar.exe.gz $(srcdir)/gzip.exe.gz \
68 mount.exe.gz cygpath.exe.gz
69 .SUFFIXES:
70 .NOEXPORT:
71
72 .PHONY: all install clean realclean
73 .PRECIOUS: $(utils_build)/cygpath.exe $(utils_build)/mount.exe $(cygwin_build)/new-cygwin1.dll
74
75 all: Makefile $(PROGS)
76
77 setup$(EXEEXT): $(OBJS) $(ALL_DEP_LDLIBS)
78 ifdef VERBOSE
79 $(CC) -o $@ ${filter-out $(ALL_DEP_LIBS),$^}
80 else
81 @echo $(CC) -o $@ ${filter-out $(ALL_DEP_LIBS),$^} ${filter-out -B%, $(ALL_LDFLAGS) $(ALL_LDLIBS)};\
82 $(CC) -o $@ ${filter-out $(ALL_DEP_LIBS),$^} $(ALL_LDFLAGS) $(ALL_LDLIBS)
83 endif
84 @chmod a-x $@
85
86 mingw_getopt.o: $(cygwin_source)/getopt.c
87 $(CC) -c -o $@ $(MINGW_CFLAGS) $^
88
89 clean:
90 rm -f *.o *.rc $(PROGS) zlib/*.o zlib/*.a *.exe *.gz
91
92 realclean: clean
93 rm -f Makefile config.cache
94
95 install: all
96 $(SHELL) $(updir1)/mkinstalldirs $(bindir) $(etcdir)
97 for i in $(PROGS) ; do \
98 n=`echo $$i | sed '$(program_transform_name)'`; \
99 $(INSTALL_PROGRAM) $$i $(bindir)/$$n; \
100 done
101
102 $(libmingw32): $(mingw_build)/Makefile
103 @$(MAKE) -C $(@D) $(@F)
104
105 $(ZLIB): zlib/Makefile
106 $(MAKE) -C $(@D) $(@F) CFLAGS='$(MINGW_CFLAGS)'
107
108 %.exe.gz: %.exe
109 gzip -9nf $?
110
111 %.exe: $(utils_build)/%.exe
112 $(OBJCOPY) --strip-unneeded $? $@
113
114 $(utils_build)/%.exe: $(utils_build)/Makefile
115 @$(MAKE) -C $(utils_build) $(@F)
116
117 %.dll.gz: new-%.dll
118 gzip -9nfc $? > $@
119
120 %.dll: $(cygwin_build)/%.dll
121 $(OBJCOPY) --strip-unneeded $? $@
122
123 $(cygwin_build)/%.dll: $(cygwin_build)/Makefile
124 @$(MAKE) -C $(@D) $(@F)
125
126 cinstall.rc: $(BUNDLED_FILES)
127 for f in $^; do \
128 echo `basename $$f .gz` FILE DISCARDABLE '"'$$f'"'; \
129 done > $@
130
131 %.o: %.rc
132 $(WINDRES) -o $@ $?
133
134 %.o: %.c
135 ifdef VERBOSE
136 $(CC) $(MINGW_CFLAGS) -c -o $@ $?
137 else
138 @echo $(CC) -c -o $@ $? ${filter-out -B%, $(MINGW_CFLAGS)};\
139 $(CC) $(MINGW_CFLAGS) -c -o $@ $?
140 endif
This page took 0.044064 seconds and 6 git commands to generate.