1 # Makefile for Cygwin installer
2 # Copyright 1996, 1997, 1998, 1999, 2000 Cygnus Solutions.
4 # This file is part of Cygwin.
6 # This software is a copyrighted work licensed under the terms of the
7 # Cygwin license. Please consult the file "CYGWIN_LICENSE" for
15 exec_prefix:=@
exec_prefix@
18 etcdir
:=$(exec_prefix)/etc
19 program_transform_name
:=@program_transform_name@
22 INSTALL_PROGRAM
:=@INSTALL_PROGRAM@
23 INSTALL_DATA
:=@INSTALL_DATA@
26 EXEEXT_FOR_BUILD
:=@EXEEXT_FOR_BUILD@
31 CFLAGS
:=@CFLAGS@
-nostdinc
32 CXXFLAGS
:=@CXXFLAGS@
-fno-exceptions
-nostdinc
++ -fno-rtti
37 include $(srcdir)/..
/Makefile.common
39 MINGW_INCLUDES
:=-I
$(mingw_source
)/include -I
$(w32api_include
)
41 MINGW_CXXFLAGS
:=$(CXXFLAGS
) -mno-cygwin
$(MINGW_INCLUDES
)
42 MINGW_CFLAGS
:=$(CFLAGS
) -mno-cygwin
$(MINGW_INCLUDES
)
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 \
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
)}}}}}
59 ALL_LDFLAGS
:=${filter-out -I
%, \
61 -B
$(w32api_lib
)/ -B
${mingw_build}/ $(MINGW_CFLAGS
) $(LDFLAGS
)}}
65 BUNDLED_FILES
:=cygwin1.dll.gz
$(srcdir)/tar.exe.gz
$(srcdir)/gzip.exe.gz \
66 mount.exe.gz cygpath.exe.gz
70 .PHONY
: all install clean realclean
71 .PRECIOUS
: $(utils_build
)/cygpath.exe
$(utils_build
)/mount.exe
$(cygwin_build
)/new-cygwin1.dll
73 all: Makefile
$(PROGS
)
75 setup
$(EXEEXT
): error.o memory.o setup.o strarry.o cinstall.o
$(ALL_DEP_LDLIBS
)
77 $(CC
) -o
$@
${wordlist
1,5,$^
} $(ALL_LDFLAGS
) $(ALL_LDLIBS
)
79 @echo
$(CC
) -o
$@
${wordlist
1,5,$^
} ${filter-out -B
%, $(ALL_LDFLAGS
) $(ALL_LDLIBS
)};\
80 $(CC
) -o
$@
${wordlist
1,5,$^
} $(ALL_LDFLAGS
) $(ALL_LDLIBS
)
84 mingw_getopt.o
: $(cygwin_source
)/getopt.c
85 $(CC
) -c
-o
$@
$(MINGW_CFLAGS
) $^
88 rm -f
*.o
*.rc
$(PROGS
) zlib
/*.o zlib
/*.a
*.exe
*.gz
91 rm -f Makefile config.cache
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; \
100 $(libmingw32
): $(mingw_build
)/Makefile
101 @
$(MAKE
) -C
$(@D
) $(@F
)
103 $(ZLIB
): zlib
/Makefile
104 $(MAKE
) -C
$(@D
) $(@F
) CFLAGS
='$(MINGW_CFLAGS)'
109 %.exe
: $(utils_build
)/%.exe
110 $(OBJCOPY
) --strip-unneeded
$?
$@
112 $(utils_build
)/%.exe
: $(utils_build
)/Makefile
113 @
$(MAKE
) -C
$(utils_build
) $(@F
)
118 %.dll
: $(cygwin_build
)/new-
%.dll
119 $(OBJCOPY
) --strip-unneeded
$?
$@
121 $(cygwin_build
)/%.dll
: $(cygwin_build
)/Makefile
122 @
$(MAKE
) -C
$(@D
) $(@F
)
124 cinstall.rc
: $(BUNDLED_FILES
)
126 echo
`basename $$f .gz` FILE DISCARDABLE
'"'$$f'"'; \
134 $(CC
) $(MINGW_CFLAGS
) -c
-o
$@
$?
136 @echo
$(CC
) -c
-o
$@
$?
${filter-out -B
%, $(MINGW_CFLAGS
)};\
137 $(CC
) $(MINGW_CFLAGS
) -c
-o
$@
$?