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
72 all: Makefile
$(PROGS
)
74 setup
$(EXEEXT
): error.o memory.o setup.o strarry.o cinstall.o
$(ALL_DEP_LDLIBS
)
76 $(CC
) -o
$@
${wordlist
1,5,$^
} $(ALL_LDFLAGS
) $(ALL_LDLIBS
)
78 @echo
$(CC
) -o
$@
${wordlist
1,5,$^
} ${filter-out -B
%, $(ALL_LDFLAGS
) $(ALL_LDLIBS
)};\
79 $(CC
) -o
$@
${wordlist
1,5,$^
} $(ALL_LDFLAGS
) $(ALL_LDLIBS
)
83 mingw_getopt.o
: $(cygwin_source
)/getopt.c
84 $(CC
) -c
-o
$@
$(MINGW_CFLAGS
) $^
87 rm -f
*.o
$(PROGS
) zlib
/*.o zlib
/*.a
*.exe
*.gz
90 rm -f Makefile config.cache
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; \
99 $(libmingw32
): $(mingw_build
)/Makefile
100 @
$(MAKE
) -C
$(@D
) $(@F
)
102 $(ZLIB
): zlib
/Makefile
103 @
$(MAKE
) -C zlib CFLAGS
='$(MINGW_CFLAGS)'
108 %.exe
: $(utils_build
)/%.exe
109 $(OBJCOPY
) --strip-unneeded
$?
$@
111 $(utils_build
)/%.exe
: $(utils_build
)/Makefile
112 @
$(MAKE
) -C
$(utils_build
) $(@F
)
117 %.dll
: $(cygwin_build
)/new-
%.dll
118 $(OBJCOPY
) --strip-unneeded
$?
$@
120 $(cygwin_build
)/%.dll
: $(cygwin_build
)/Makefile
121 @
$(MAKE
) -C
$(cygwin_build
) $(@F
)
123 cinstall.rc
: $(BUNDLED_FILES
)
125 echo
`basename $$f .gz` FILE DISCARDABLE
'"'$$f'"'; \
133 $(CC
) $(MINGW_CFLAGS
) -c
-o
$@
$?
135 @echo
$(CC
) -c
-o
$@
$?
${filter-out -B
%, $(MINGW_CFLAGS
)};\
136 $(CC
) $(MINGW_CFLAGS
) -c
-o
$@
$?