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