CXXFLAGS:=@CXXFLAGS@ -fno-exceptions -nostdinc++ -fno-rtti
WINDRES:=@WINDRES@
+OBJCOPY:=@OBJCOPY@
include $(srcdir)/../Makefile.common
-MINGW_INCLUDES:=-I$(mingw_source)/include -I$(cygwin_source)/include -I$(w32api_include)
+MINGW_INCLUDES:=-I$(mingw_source)/include -I$(w32api_include)
MINGW_CXXFLAGS:=$(CXXFLAGS) -mno-cygwin $(MINGW_INCLUDES)
MINGW_CFLAGS:=$(CFLAGS) -mno-cygwin $(MINGW_INCLUDES)
ZLIB=zlib/libzcygw.a
+libmingw32.a:=$(mingw_build)/libmingw32.a
libuser32:=$(w32api_lib)/libuser32.a
libkernel32:=$(w32api_lib)/libkernel32.a
ALL_DEP_LDLIBS:=$(ZLIB) $(w32api_lib)/libole32.a $(w32api_lib)/libwininet.a \
$(w32api_lib)/libnetapi32.a $(w32api_lib)/libadvapi32.a \
$(w32api_lib)/libuuid.a $(libkernel32) $(w32api_lib)/libuser32.a \
- $(mingw_build)/libmsvcrt.a # $(mingw_build)/libmingw32.a
+ $(libmingw32)
ALL_LDLIBS:=${patsubst $(mingw_build)/lib%.a,-l%,\
${patsubst $(w32api_lib)/lib%.a,-l%,\
- ${filter-out $(libuser32),\
- ${filter-out $(libkernel32), $(ALL_DEP_LDLIBS)}}}}
+ ${filter-out $(libmingw32),\
+ ${filter-out $(libuser32),\
+ ${filter-out $(libkernel32), $(ALL_DEP_LDLIBS)}}}}}
ALL_LDFLAGS:=${filter-out -I%, \
${filter-out -W%, \
- -B$(newlib_build)/libc/ -B$(newlib_build)/libm/ \
- -B$(w32api_lib)/ -B${mingw_build} $(LDFLAGS)}}
+ -B$(w32api_lib)/ -B${mingw_build}/ $(MINGW_CFLAGS) $(LDFLAGS)}}
PROGS:=setup$(EXEEXT)
-WINSUP_DEPS:=$(cygwin_source)/winsup.h
-
+BUNDLED_FILES:=$(srcdir)/tar.exe.gz $(srcdir)/gzip.exe.gz \
+ mount.exe.gz cygpath.exe.gz
.SUFFIXES:
.NOEXPORT:
all: Makefile $(PROGS)
-setup$(EXEEXT): error.o memory.o setup.o strarry.o setupres.o $(ALL_DEP_LDLIBS)
+setup$(EXEEXT): error.o memory.o setup.o strarry.o cinstall.o $(ALL_DEP_LDLIBS)
ifdef VERBOSE
- $(CC) $(MINGW_CFLAGS) -o $@ ${wordlist 1,5,$^} $(ALL_LDFLAGS) $(ALL_LDLIBS)
+ $(CC) -o $@ ${wordlist 1,5,$^} $(ALL_LDFLAGS) $(ALL_LDLIBS)
else
- @echo $(CC) $(CFLAGS) -o $@ ${wordlist 1,5,$^} ${filter-out -B%, $(ALL_LDFLAGS) $(ALL_LDLIBS)};\
- $(CC) $(MINGW_CFLAGS) -o $@ ${wordlist 1,5,$^} $(ALL_LDFLAGS) $(ALL_LDLIBS)
+ @echo $(CC) -o $@ ${wordlist 1,5,$^} ${filter-out -B%, $(ALL_LDFLAGS) $(ALL_LDLIBS)};\
+ $(CC) -o $@ ${wordlist 1,5,$^} $(ALL_LDFLAGS) $(ALL_LDLIBS)
endif
@chmod a-x $@
$(CC) -c -o $@ $(MINGW_CFLAGS) $^
clean:
- rm -f *.o $(PROGS)
+ rm -f *.o $(PROGS) zlib/*.o zlib/*.a *.exe *.gz
realclean: clean
rm -f Makefile config.cache
$(INSTALL_PROGRAM) $$i $(bindir)/$$n; \
done
-$(mingw_build)/libmingw32.a: $(mingw_build)/Makefile
+$(libmingw32): $(mingw_build)/Makefile
@$(MAKE) -C $(@D) $(@F)
-zlib/libzcygw.a: zlib/Makefile
- @make -C zlib
+zlib/zlibcygw.a: zlib/Makefile
+ @$(MAKE) -C zlib CFLAGS='$(MINGW_CFLAGS)'
+
+%.exe.gz: %.exe
+ gzip -9nf $?
+
+%.exe: $(utils_build)/%.exe
+ $(OBJCOPY) --strip-unneeded $? $@
+
+$(utils_build)/%.exe: $(utils_build)/Makefile
+ @$(MAKE) -C $(utils_build) $(@F)
+
+cinstall.rc: $(BUNDLED_FILES)
+ for f in $^; do \
+ echo `basename $$f .gz` FILE DISCARDABLE '"'$$f'"'; \
+ done > $@
%.o: %.rc
$(WINDRES) -o $@ $?
%.o: %.c
ifdef VERBOSE
- $(CC) $(MINGW_CFLAGS) -c -o $@ $? -B$(mingw_build)/
+ $(CC) $(MINGW_CFLAGS) -c -o $@ $?
else
@echo $(CC) -c -o $@ $? ${filter-out -B%, $(MINGW_CFLAGS)};\
- $(CC) $(MINGW_CFLAGS) -c -o $@ $? -B$(mingw_build)/
+ $(CC) $(MINGW_CFLAGS) -c -o $@ $?
endif
fi
+# Extract the first word of "${ac_tool_prefix}objcopy", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objcopy; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1391: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$OBJCOPY"; then
+ ac_cv_prog_OBJCOPY="$OBJCOPY" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_OBJCOPY="${ac_tool_prefix}objcopy"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+OBJCOPY="$ac_cv_prog_OBJCOPY"
+if test -n "$OBJCOPY"; then
+ echo "$ac_t""$OBJCOPY" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_OBJCOPY"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "objcopy", so it can be a program name with args.
+set dummy objcopy; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1423: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$OBJCOPY"; then
+ ac_cv_prog_OBJCOPY="$OBJCOPY" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_OBJCOPY="objcopy"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_OBJCOPY" && ac_cv_prog_OBJCOPY="objcopy"
+fi
+fi
+OBJCOPY="$ac_cv_prog_OBJCOPY"
+if test -n "$OBJCOPY"; then
+ echo "$ac_t""$OBJCOPY" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ OBJCOPY="objcopy"
+fi
+fi
+
+
SUBDIRS="zlib"
subdirs="$SUBDIRS"
s%@LD@%$LD%g
s%@DLLTOOL@%$DLLTOOL%g
s%@WINDRES@%$WINDRES%g
+s%@OBJCOPY@%$OBJCOPY%g
s%@subdirs@%$subdirs%g
CEOF