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 OBJS
:=error.o memory.o setup.o strarry.o cinstall.o path.o xsystem.o
67 BUNDLED_FILES
:=cygwin1.dll.gz
$(srcdir)/tar.exe.gz
$(srcdir)/gzip.exe.gz \
68 mount.exe.gz cygpath.exe.gz
72 .PHONY
: all install clean realclean
73 .PRECIOUS
: $(utils_build
)/cygpath.exe
$(utils_build
)/mount.exe
$(cygwin_build
)/new-cygwin1.dll
75 all: Makefile
$(PROGS
)
77 setup
$(EXEEXT
): $(OBJS
) $(ALL_DEP_LDLIBS
)
79 $(CC
) -o
$@
${filter-out $(ALL_DEP_LIBS
),$^
}
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
)
86 mingw_getopt.o
: $(cygwin_source
)/getopt.c
87 $(CC
) -c
-o
$@
$(MINGW_CFLAGS
) $^
90 rm -f
*.o
*.rc
$(PROGS
) zlib
/*.o zlib
/*.a
*.exe
*.gz
93 rm -f Makefile config.cache
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; \
102 $(libmingw32
): $(mingw_build
)/Makefile
103 @
$(MAKE
) -C
$(@D
) $(@F
)
105 $(ZLIB
): zlib
/Makefile
106 $(MAKE
) -C
$(@D
) $(@F
) CFLAGS
='$(MINGW_CFLAGS)'
111 %.exe
: $(utils_build
)/%.exe
112 $(OBJCOPY
) --strip-unneeded
$?
$@
114 $(utils_build
)/%.exe
: $(utils_build
)/Makefile
115 @
$(MAKE
) -C
$(utils_build
) $(@F
)
120 %.dll
: $(cygwin_build
)/%.dll
121 $(OBJCOPY
) --strip-unneeded
$?
$@
123 $(cygwin_build
)/%.dll
: $(cygwin_build
)/Makefile
124 @
$(MAKE
) -C
$(@D
) $(@F
)
126 cinstall.rc
: $(BUNDLED_FILES
)
128 echo
`basename $$f .gz` FILE DISCARDABLE
'"'$$f'"'; \
136 $(CC
) $(MINGW_CFLAGS
) -c
-o
$@
$?
138 @echo
$(CC
) -c
-o
$@
$?
${filter-out -B
%, $(MINGW_CFLAGS
)};\
139 $(CC
) $(MINGW_CFLAGS
) -c
-o
$@
$?