From 4d3562dcb779256ca1c5d4cd44e26d43759d915f Mon Sep 17 00:00:00 2001 From: George Rhoten Date: Tue, 11 Feb 2003 00:13:48 +0000 Subject: [PATCH] ICU-2705 Add CygWin/MSVC support X-SVN-Rev: 11008 --- icu4c/source/aclocal.m4 | 8 +- icu4c/source/common/Makefile.in | 4 +- icu4c/source/config/mh-cygwin-msvc | 125 ++++++++++++++++++++++++ icu4c/source/extra/ustdio/Makefile.in | 4 +- icu4c/source/i18n/Makefile.in | 4 +- icu4c/source/icudefs.mk.in | 2 + icu4c/source/layout/Makefile.in | 2 +- icu4c/source/stubdata/Makefile.in | 8 +- icu4c/source/test/cintltst/Makefile.in | 4 +- icu4c/source/test/ieeetest/Makefile.in | 2 +- icu4c/source/test/intltest/Makefile.in | 4 +- icu4c/source/tools/ctestfw/Makefile.in | 2 +- icu4c/source/tools/genbrk/Makefile.in | 6 +- icu4c/source/tools/genccode/Makefile.in | 6 +- icu4c/source/tools/gencmn/Makefile.in | 10 +- icu4c/source/tools/gencnval/Makefile.in | 14 +-- icu4c/source/tools/gennames/Makefile.in | 6 +- icu4c/source/tools/gennorm/Makefile.in | 16 +-- icu4c/source/tools/genpname/Makefile.in | 4 +- icu4c/source/tools/genprops/Makefile.in | 16 +-- icu4c/source/tools/genrb/Makefile.in | 10 +- icu4c/source/tools/gentest/Makefile.in | 4 +- icu4c/source/tools/gentz/Makefile.in | 16 +-- icu4c/source/tools/genuca/Makefile.in | 18 ++-- icu4c/source/tools/makeconv/Makefile.in | 8 +- icu4c/source/tools/toolutil/Makefile.in | 2 +- 26 files changed, 218 insertions(+), 87 deletions(-) create mode 100644 icu4c/source/config/mh-cygwin-msvc diff --git a/icu4c/source/aclocal.m4 b/icu4c/source/aclocal.m4 index 4137c085f19..cbeebdf39b3 100644 --- a/icu4c/source/aclocal.m4 +++ b/icu4c/source/aclocal.m4 @@ -27,7 +27,12 @@ alpha*-*-linux-gnu) fi ;; *-dec-osf*) icu_cv_host_frag=mh-alpha-osf ;; *-*-linux*) icu_cv_host_frag=mh-linux ;; -*-*-cygwin) icu_cv_host_frag=mh-cygwin ;; +*-*-cygwin) + if test "$ac_cv_prog_gcc" = yes; then + icu_cv_host_frag=mh-cygwin + else + icu_cv_host_frag=mh-cygwin-msvc + fi ;; *-*-*bsd*) icu_cv_host_frag=mh-bsd-gcc ;; *-*-aix*) if test -n "`$CXX --help 2>&1 | grep 'IBM C and C++ Compilers$'`"; then @@ -167,7 +172,6 @@ AC_DEFUN(AC_CHECK_64BIT_LIBS, fi dnl Individual tests that fail should reset their own flags. AC_MSG_RESULT($ENABLE_64BIT_LIBS) - undefine([ENABLE_64BIT_LIBS]) ]) dnl Strict compilation options. diff --git a/icu4c/source/common/Makefile.in b/icu4c/source/common/Makefile.in index c9dce174fa5..6bc6f666464 100644 --- a/icu4c/source/common/Makefile.in +++ b/icu4c/source/common/Makefile.in @@ -143,11 +143,11 @@ endif ifneq ($(ENABLE_SHARED),) $(FINAL_SO_TARGET): $(OBJECTS) - $(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS) + $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) ifeq ($(OS390BATCH),1) $(BATCH_TARGET): $(OBJECTS) - $(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(BATCH_LIBS) + $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(BATCH_LIBS) endif # OS390BATCH endif # ENABLE_SHARED diff --git a/icu4c/source/config/mh-cygwin-msvc b/icu4c/source/config/mh-cygwin-msvc new file mode 100644 index 00000000000..eda1b70b2a5 --- /dev/null +++ b/icu4c/source/config/mh-cygwin-msvc @@ -0,0 +1,125 @@ +## -*-makefile-*- +## Cygwin-specific setup +## Copyright (c) 2001, International Business Machines Corporation and +## others. All Rights Reserved. +## +## $Id: mh-cygwin-msvc,v 1.1 2003/02/11 00:13:48 grhoten-oss Exp $ + +## Commands to generate dependency files +GEN_DEPS.c= : +GEN_DEPS.cc= : + +## Flags for position independent code +SHAREDLIBCFLAGS = +SHAREDLIBCXXFLAGS = +SHAREDLIBCPPFLAGS = + +## Additional flags when building libraries and with threads +LIBCPPFLAGS = +THREADSCPPFLAGS = + +CPPFLAGS+=/nologo +DEFS+=/D"WIN32" +LDFLAGS+=/nologo + +# Commands to compile +COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) /c +COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) /c + +# Commands to link +LINK.c= LINK.EXE /subsystem:console $(CFLAGS) $(LDFLAGS) +LINK.cc= LINK.EXE /subsystem:console $(CXXFLAGS) $(LDFLAGS) + +## Commands to make a shared library +SHLIB.c= LINK.EXE /DLL $(CFLAGS) $(LDFLAGS) +SHLIB.cc= LINK.EXE /DLL $(CXXFLAGS) $(LDFLAGS) + +## Compiler switch to embed a runtime search path +LD_RPATH= +LD_RPATH_PRE= + +## Compiler switch to embed a library name +LD_SONAME = + +## Shared object suffix +SO = dll +## Non-shared intermediate object suffix +STATIC_O = lib +# OUTOPT is for creating a specific output name +OUTOPT = /out: + +LIBICU = $(ICUPREFIX) +DEFAULT_LIBS = + +## Link commands to link to ICU libs +LIBICUDT= $(top_builddir)/stubdata/$(LIBICU)data$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib +LIBICUUC= $(top_builddir)/common/$(LIBICU)uc$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib +LIBICUI18N= $(top_builddir)/i18n/$(LIBICU)i18n$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib +LIBICULE= $(top_builddir)/layout/$(LIBICU)le$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib +LIBCTESTFW= $(top_builddir)/tools/ctestfw/$(LIBICU)ctestfw$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib +LIBICUTOOLUTIL= $(top_builddir)/tools/toolutil/$(LIBICU)toolutil$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib +LIBUSTDIO= $(top_builddir)/extra/ustdio/libustdio$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).$lib + + +## Compilation rules +%.$(STATIC_O): $(srcdir)/%.c + $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) /Fo$@ $< +%.o: $(srcdir)/%.c + $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) /Fo$@ $< + +%.$(STATIC_O): $(srcdir)/%.cpp + $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) /Fo$@ $< +%.o: $(srcdir)/%.cpp + $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) /Fo$@ $< + +../data/%.o: ../data/%.c + $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) /Fo$@ $< + +## Dependency rules +#%.d: $(srcdir)/%.c +# @echo "generating dependency information for $<" +# $(SHELL) -ec '$(GEN_DEPS.c) $< \ +# | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ +# [ -s $@ ] || rm -f $@' +# +#%.d: $(srcdir)/%.cpp +# @echo "generating dependency information for $<" +# $(SHELL) -ec '$(GEN_DEPS.cc) $< \ +# | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ +# [ -s $@ ] || rm -f $@' + +## Dependency rules +%.d : $(srcdir)/%.c + @echo "generating dependency information for $<" + @$(GEN_DEPS.c) $< > $@ + +%.d : $(srcdir)/%.cpp + @echo "generating dependency information for $<" + @$(GEN_DEPS.cc) $< > $@ + +## Versioned target for a shared library. +FINAL_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR)$(ICULIBSUFFIX).$(SO) +MIDDLE_SO_TARGET= + +## Versioned libraries rules +#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION)$(ICULIBSUFFIX).$(SO) +# $(RM) $@ && cp $< $@ +%.$(SO): %$(SO_TARGET_VERSION_MAJOR)$(ICULIBSUFFIX).$(SO) + $(RM) $@ && ln -s $< $@ + +## Bind internal references + +# LDflags that pkgdata will use +BIR_LDFLAGS= -Wl,-Bsymbolic + +# CPPflags for genccode/gencmn +BIR_CPPFLAGS= -DU_HAVE_BIND_INTERNAL_REFERENCES + +# Dependencies [i.e. map files] for the final library +BIR_DEPS= + +# Environment variable to set a runtime search path +LDLIBRARYPATH_ENVVAR = PATH + +## End Cygwin-specific setup + diff --git a/icu4c/source/extra/ustdio/Makefile.in b/icu4c/source/extra/ustdio/Makefile.in index 7fa27b212eb..5ea07132469 100644 --- a/icu4c/source/extra/ustdio/Makefile.in +++ b/icu4c/source/extra/ustdio/Makefile.in @@ -121,11 +121,11 @@ endif ifneq ($(ENABLE_SHARED),) $(FINAL_SO_TARGET): $(OBJECTS) - $(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS) + $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) ifeq ($(OS390BATCH),1) $(BATCH_TARGET): $(OBJECTS) - $(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(BATCH_LIBS) + $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(BATCH_LIBS) endif # OS390BATCH endif diff --git a/icu4c/source/i18n/Makefile.in b/icu4c/source/i18n/Makefile.in index 69299dbe745..c48debf8fd1 100644 --- a/icu4c/source/i18n/Makefile.in +++ b/icu4c/source/i18n/Makefile.in @@ -135,11 +135,11 @@ endif ifneq ($(ENABLE_SHARED),) $(FINAL_SO_TARGET): $(OBJECTS) - $(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS) + $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) ifeq ($(OS390BATCH),1) $(BATCH_TARGET):$(OBJECTS) - $(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(BATCH_LIBS) + $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(BATCH_LIBS) endif # OS390BATCH endif diff --git a/icu4c/source/icudefs.mk.in b/icu4c/source/icudefs.mk.in index cbd5e5bcf1a..24ccb924f8c 100644 --- a/icu4c/source/icudefs.mk.in +++ b/icu4c/source/icudefs.mk.in @@ -104,6 +104,8 @@ CPPFLAGS = @CPPFLAGS@ DEFAULT_LIBS = @LIBS@ # LIB_M is for linking against the math library LIB_M = @LIB_M@ +# OUTOPT is for creating a specific output name +OUTOPT = -o ENABLE_RPATH = @ENABLE_RPATH@ ifeq ($(ENABLE_RPATH),YES) diff --git a/icu4c/source/layout/Makefile.in b/icu4c/source/layout/Makefile.in index 64cd35e26e0..bcc89ba570a 100644 --- a/icu4c/source/layout/Makefile.in +++ b/icu4c/source/layout/Makefile.in @@ -179,7 +179,7 @@ endif ifneq ($(ENABLE_SHARED),) $(FINAL_SO_TARGET): $(OBJECTS) - $(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS) + $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) endif ifeq (,$(MAKECMDGOALS)) diff --git a/icu4c/source/stubdata/Makefile.in b/icu4c/source/stubdata/Makefile.in index 1eb3a0e116a..738966ba6c7 100644 --- a/icu4c/source/stubdata/Makefile.in +++ b/icu4c/source/stubdata/Makefile.in @@ -25,11 +25,11 @@ CLEANFILES = *~ $(DEPS) ## Target information ifneq ($(ENABLE_STATIC),) -TARGET = lib$(ICUPREFIX)data$(ICULIBSUFFIX).a +TARGET = $(LIBICU)data$(ICULIBSUFFIX).a endif ifneq ($(ENABLE_SHARED),) -SO_TARGET = lib$(ICUPREFIX)data$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) +SO_TARGET = $(LIBICU)data$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) $(BATCH_STUB_TARGET) endif @@ -110,11 +110,11 @@ endif ifneq ($(ENABLE_SHARED),) $(FINAL_SO_TARGET): $(OBJECTS) - $(SHLIB.c) $(LD_SONAME) -o $@ $^ $(LIBS) + $(SHLIB.c) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) ifeq ($(OS390BATCH),1) $(BATCH_STUB_TARGET): $(OBJECTS) - $(SHLIB.c) $(LD_SONAME) -o $@ $^ $(LIBS) + $(SHLIB.c) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) endif # OS390BATCH endif diff --git a/icu4c/source/test/cintltst/Makefile.in b/icu4c/source/test/cintltst/Makefile.in index 17851a83442..d89f7518ea4 100644 --- a/icu4c/source/test/cintltst/Makefile.in +++ b/icu4c/source/test/cintltst/Makefile.in @@ -17,7 +17,7 @@ subdir = test/cintltst CLEANFILES = *~ $(DEPS) ## Target information -TARGET = cintltst +TARGET = cintltst$(EXEEXT) # Oh, this hurts my sensibility. This is supposedly a C test and we need to # link using a C++ compiler?! This must be done so that C++ static @@ -87,7 +87,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK) -o $@ $^ $(LIBS) + $(LINK) $(OUTOPT)$@ $^ $(LIBS) ifeq (,$(MAKECMDGOALS)) -include $(DEPS) diff --git a/icu4c/source/test/ieeetest/Makefile.in b/icu4c/source/test/ieeetest/Makefile.in index e70e018affe..5212e0f3851 100644 --- a/icu4c/source/test/ieeetest/Makefile.in +++ b/icu4c/source/test/ieeetest/Makefile.in @@ -62,7 +62,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) invoke: ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION) diff --git a/icu4c/source/test/intltest/Makefile.in b/icu4c/source/test/intltest/Makefile.in index 04c7ff6b92c..10f17114adc 100644 --- a/icu4c/source/test/intltest/Makefile.in +++ b/icu4c/source/test/intltest/Makefile.in @@ -17,7 +17,7 @@ subdir = test/intltest CLEANFILES = *~ $(DEPS) ## Target information -TARGET = intltest +TARGET = intltest$(EXEEXT) BUILDDIR := $(shell pwd)/../../ CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/toolutil @@ -81,7 +81,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) invoke: ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION) diff --git a/icu4c/source/tools/ctestfw/Makefile.in b/icu4c/source/tools/ctestfw/Makefile.in index 7ac72aaf375..2e35afb87f6 100644 --- a/icu4c/source/tools/ctestfw/Makefile.in +++ b/icu4c/source/tools/ctestfw/Makefile.in @@ -100,7 +100,7 @@ endif ifneq ($(ENABLE_SHARED),) $(FINAL_SO_TARGET): $(OBJECTS) - $(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS) + $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) endif ifeq (,$(MAKECMDGOALS)) diff --git a/icu4c/source/tools/genbrk/Makefile.in b/icu4c/source/tools/genbrk/Makefile.in index c43bdda30f3..c8947c25b97 100644 --- a/icu4c/source/tools/genbrk/Makefile.in +++ b/icu4c/source/tools/genbrk/Makefile.in @@ -14,7 +14,7 @@ include $(top_builddir)/icudefs.mk SECTION = 1 -MAN_FILES = $(TARGET).$(SECTION) +MAN_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) ## Build directory information subdir = tools/genbrk @@ -23,7 +23,7 @@ subdir = tools/genbrk CLEANFILES = *~ $(MAN_FILES) $(DEPS) ## Target information -TARGET = genbrk +TARGET = genbrk$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(srcdir)/../toolutil LIBS = $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -70,7 +70,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) # the 'mv' will always fail if you are building in the source dir diff --git a/icu4c/source/tools/genccode/Makefile.in b/icu4c/source/tools/genccode/Makefile.in index 79ab6e315ff..d3fa53f0dae 100644 --- a/icu4c/source/tools/genccode/Makefile.in +++ b/icu4c/source/tools/genccode/Makefile.in @@ -18,7 +18,7 @@ subdir = tools/genccode SECTION = 8 -MANX_FILES = $(TARGET).$(SECTION) +MANX_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) ALL_MAN_FILES = $(MANX_FILES) @@ -26,7 +26,7 @@ ALL_MAN_FILES = $(MANX_FILES) CLEANFILES = *~ $(DEPS) $(RES_FILES) $(TEST_FILES) $(ALL_MAN_FILES) ## Target information -TARGET = genccode +TARGET = genccode$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(srcdir)/../toolutil $(BIR_CPPFLAGS) LIBS = $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) $(LIBICUTOOLUTIL) @@ -83,7 +83,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.c) -o $@ $^ $(LIBS) + $(LINK.c) $(OUTOPT)$@ $^ $(LIBS) ifeq (,$(MAKECMDGOALS)) -include $(DEPS) diff --git a/icu4c/source/tools/gencmn/Makefile.in b/icu4c/source/tools/gencmn/Makefile.in index d05fce4b2f9..2d669d4bd34 100644 --- a/icu4c/source/tools/gencmn/Makefile.in +++ b/icu4c/source/tools/gencmn/Makefile.in @@ -18,7 +18,7 @@ subdir = tools/gencmn SECTION = 8 -MANX_FILES = $(TARGET).$(SECTION) $(DECMN).$(SECTION) +MANX_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) $(DECMN:$(EXEEXT)=).$(SECTION) ALL_MAN_FILES = $(MANX_FILES) @@ -26,8 +26,8 @@ ALL_MAN_FILES = $(MANX_FILES) CLEANFILES = *~ mkmap.tmp $(DEPS) $(RES_FILES) $(TEST_FILES) $(DECMN_DEP) $(ALL_MAN_FILES) ## Target information -TARGET = gencmn -DECMN = decmn +TARGET = gencmn$(EXEEXT) +DECMN = decmn$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(srcdir)/../toolutil $(BIR_CPPFLAGS) LIBS = $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -77,10 +77,10 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) $(DECMN) : $(DECMN_OBJ) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) # man page install-man: install-manx diff --git a/icu4c/source/tools/gencnval/Makefile.in b/icu4c/source/tools/gencnval/Makefile.in index ce8f9c2af94..24fbaccf268 100644 --- a/icu4c/source/tools/gencnval/Makefile.in +++ b/icu4c/source/tools/gencnval/Makefile.in @@ -18,7 +18,7 @@ subdir = tools/gencnval SECTION = 1 -MANX_FILES = $(TARGET).$(SECTION) +MANX_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) MAN5_FILES = convrtrs.txt.5 $(srcdir)/cnvalias.dat.5 GENERATED_MAN_FILES = $(TARGET).$(SECTION) convrtrs.txt.5 @@ -32,7 +32,7 @@ CONVRTRSFILE=$(top_srcdir)/../data/convrtrs.txt CLEANFILES = *~ $(GENERATED_MAN_FILES) $(DEPS) $(RES_FILES) $(TEST_FILES) ## Target information -TARGET = gencnval +TARGET = gencnval$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(srcdir)/../toolutil LIBS = $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -81,7 +81,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) # man page install-man: install-man5 install-manx @@ -100,11 +100,11 @@ install-manx: $(MANX_FILES) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status # only on linux probably ? -$(TARGET).ps: $(TARGET).$(SECTION) - groff -man < $< > $@ +#$(TARGET).ps: $(TARGET).$(SECTION) +# groff -man < $< > $@ -$(TARGET).pdf: $(TARGET).ps - ps2pdf $< $@ +#$(TARGET).pdf: $(TARGET).ps +# ps2pdf $< $@ ifeq (,$(MAKECMDGOALS)) -include $(DEPS) diff --git a/icu4c/source/tools/gennames/Makefile.in b/icu4c/source/tools/gennames/Makefile.in index 86b9297d5aa..55829396cde 100644 --- a/icu4c/source/tools/gennames/Makefile.in +++ b/icu4c/source/tools/gennames/Makefile.in @@ -18,7 +18,7 @@ subdir = tools/gennames SECTION = 8 -MANX_FILES = $(TARGET).$(SECTION) +MANX_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) ALL_MAN_FILES = $(MANX_FILES) @@ -32,7 +32,7 @@ UNICODEFILE=$(UNICODEDATADIR)/UnicodeData.txt CLEANFILES = *~ $(DEPS) $(RES_FILES) $(TEST_FILES) $(ALL_MAN_FILES) ## Target information -TARGET = gennames +TARGET = gennames$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(srcdir)/../toolutil LIBS = $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -89,7 +89,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) ifeq (,$(MAKECMDGOALS)) -include $(DEPS) diff --git a/icu4c/source/tools/gennorm/Makefile.in b/icu4c/source/tools/gennorm/Makefile.in index 92fd25b06e6..3cf0de450c8 100644 --- a/icu4c/source/tools/gennorm/Makefile.in +++ b/icu4c/source/tools/gennorm/Makefile.in @@ -15,7 +15,7 @@ include $(top_builddir)/icudefs.mk SECTION = 8 -MAN_FILES = $(TARGET).$(SECTION) +MAN_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) ## Build directory information subdir = tools/gennorm @@ -27,7 +27,7 @@ UNICODEDATADIR=$(top_srcdir)/../data/unidata CLEANFILES = *~ $(DEPS) $(RES_FILES) $(TEST_FILES) $(MAN_FILES) ## Target information -TARGET = gennorm +TARGET = gennorm$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(srcdir)/../toolutil LIBS = $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -63,16 +63,16 @@ install-man: $(MAN_FILES) $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) $(INSTALL_DATA) $< $(DESTDIR)$(mandir)/man$(SECTION) -$(TARGET).$(SECTION): $(srcdir)/$(TARGET).$(SECTION).in +%.$(SECTION): $(srcdir)/%.$(SECTION).in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status # build postscript and pdf formats -$(TARGET).ps: $(TARGET).$(SECTION) - groff -man < $< > $@ +#$(TARGET).ps: $(TARGET).$(SECTION) +# groff -man < $< > $@ -$(TARGET).pdf: $(TARGET).ps - ps2pdf $< $@ +#$(TARGET).pdf: $(TARGET).ps +# ps2pdf $< $@ dist-local: @@ -90,7 +90,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) ifeq (,$(MAKECMDGOALS)) -include $(DEPS) diff --git a/icu4c/source/tools/genpname/Makefile.in b/icu4c/source/tools/genpname/Makefile.in index 69d3d064a0b..27f52cd2770 100644 --- a/icu4c/source/tools/genpname/Makefile.in +++ b/icu4c/source/tools/genpname/Makefile.in @@ -23,7 +23,7 @@ UNICODEDATADIR=$(top_srcdir)/../data/unidata CLEANFILES = *~ $(DEPS) $(RES_FILES) $(TEST_FILES) ## Target information -TARGET = genpname +TARGET = genpname$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(srcdir)/../toolutil LIBS = $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -70,7 +70,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) ifeq (,$(MAKECMDGOALS)) -include $(DEPS) diff --git a/icu4c/source/tools/genprops/Makefile.in b/icu4c/source/tools/genprops/Makefile.in index 3a58c93a515..48867a5dcf2 100644 --- a/icu4c/source/tools/genprops/Makefile.in +++ b/icu4c/source/tools/genprops/Makefile.in @@ -15,7 +15,7 @@ include $(top_builddir)/icudefs.mk SECTION = 8 -MAN_FILES = $(TARGET).$(SECTION) +MAN_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) ## Build directory information subdir = tools/genprops @@ -27,7 +27,7 @@ UNICODEDATADIR=$(top_srcdir)/../data/unidata CLEANFILES = *~ $(DEPS) $(RES_FILES) $(TEST_FILES) $(MAN_FILES) ## Target information -TARGET = genprops +TARGET = genprops$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(srcdir)/../toolutil LIBS = $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -63,16 +63,16 @@ install-man: $(MAN_FILES) $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) $(INSTALL_DATA) $< $(DESTDIR)$(mandir)/man$(SECTION) -$(TARGET).$(SECTION): $(srcdir)/$(TARGET).$(SECTION).in +%.$(SECTION): $(srcdir)/%.$(SECTION).in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status # build postscript and pdf formats -$(TARGET).ps: $(TARGET).$(SECTION) - groff -man < $< > $@ +#$(TARGET).ps: $(TARGET).$(SECTION) +# groff -man < $< > $@ -$(TARGET).pdf: $(TARGET).ps - ps2pdf $< $@ +#$(TARGET).pdf: $(TARGET).ps +# ps2pdf $< $@ dist-local: @@ -90,7 +90,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) ifeq (,$(MAKECMDGOALS)) -include $(DEPS) diff --git a/icu4c/source/tools/genrb/Makefile.in b/icu4c/source/tools/genrb/Makefile.in index 48401c9cdac..1f454bb6e06 100644 --- a/icu4c/source/tools/genrb/Makefile.in +++ b/icu4c/source/tools/genrb/Makefile.in @@ -14,7 +14,7 @@ include $(top_builddir)/icudefs.mk SECTION = 1 -MAN_FILES = $(TARGET).$(SECTION) $(DERB).$(SECTION) +MAN_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) $(DERB:$(EXEEXT)=).$(SECTION) ## Build directory information subdir = tools/genrb @@ -23,8 +23,8 @@ subdir = tools/genrb CLEANFILES = *~ $(MAN_FILES) $(DEPS) ## Target information -TARGET = genrb -DERB = derb +TARGET = genrb$(EXEEXT) +DERB = derb$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(srcdir)/../toolutil LIBS = $(LIBICUI18N) $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -75,10 +75,10 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.c) -o $@ $^ $(LIBS) + $(LINK.c) $(OUTOPT)$@ $^ $(LIBS) $(DERB) : $(DERB_OBJ) - $(LINK.c) -o $@ $^ $(LIBS) + $(LINK.c) $(OUTOPT)$@ $^ $(LIBS) # the 'mv' will always fail if you are building in the source dir diff --git a/icu4c/source/tools/gentest/Makefile.in b/icu4c/source/tools/gentest/Makefile.in index ea86e4ec7f1..f9e3eadf1dc 100644 --- a/icu4c/source/tools/gentest/Makefile.in +++ b/icu4c/source/tools/gentest/Makefile.in @@ -23,7 +23,7 @@ ICUDATADIR=$(top_builddir)/data CLEANFILES = *~ $(DEPS) $(RES_FILES) $(TEST_FILES) ## Target information -TARGET = gentest +TARGET = gentest$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(srcdir)/../toolutil LIBS = $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -70,7 +70,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) ifeq (,$(MAKECMDGOALS)) -include $(DEPS) diff --git a/icu4c/source/tools/gentz/Makefile.in b/icu4c/source/tools/gentz/Makefile.in index 48a95710e85..defa57d1882 100644 --- a/icu4c/source/tools/gentz/Makefile.in +++ b/icu4c/source/tools/gentz/Makefile.in @@ -15,7 +15,7 @@ include $(top_builddir)/icudefs.mk SECTION = 8 -MAN_FILES = $(TARGET).$(SECTION) +MAN_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) ## Build directory information subdir = tools/gentz @@ -29,7 +29,7 @@ TZALIAS=$(srcdir)/tz.alias CLEANFILES = *~ $(DEPS) $(RES_FILES) $(TEST_FILES) $(MAN_FILES) ## Target information -TARGET = gentz +TARGET = gentz$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(srcdir)/../toolutil LIBS = $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -65,16 +65,16 @@ install-man: $(MAN_FILES) $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) $(INSTALL_DATA) $< $(DESTDIR)$(mandir)/man$(SECTION) -$(TARGET).$(SECTION): $(srcdir)/$(TARGET).$(SECTION).in +%.$(SECTION): $(srcdir)/%.$(SECTION).in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status # build postscript and pdf formats -$(TARGET).ps: $(TARGET).$(SECTION) - groff -man < $< > $@ +#$(TARGET).ps: $(TARGET).$(SECTION) +# groff -man < $< > $@ -$(TARGET).pdf: $(TARGET).ps - ps2pdf $< $@ +#$(TARGET).pdf: $(TARGET).ps +# ps2pdf $< $@ dist-local: @@ -92,7 +92,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) ifeq (,$(MAKECMDGOALS)) -include $(DEPS) diff --git a/icu4c/source/tools/genuca/Makefile.in b/icu4c/source/tools/genuca/Makefile.in index e4edc1f676b..44b15d3b691 100644 --- a/icu4c/source/tools/genuca/Makefile.in +++ b/icu4c/source/tools/genuca/Makefile.in @@ -14,16 +14,16 @@ include $(top_builddir)/icudefs.mk SECTION = 8 -MAN_FILES = $(TARGET).$(SECTION) +MAN_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) ## Build directory information subdir = tools/genuca ## Extra files to remove for 'make clean' -CLEANFILES = *~ $(TARGET).$(SECTION) $(DEPS) +CLEANFILES = *~ $(MAN_FILES) $(DEPS) ## Target information -TARGET = genuca +TARGET = genuca$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(srcdir)/../toolutil LIBS = $(LIBICUI18N) $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -71,7 +71,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET) : $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) # the 'mv' will always fail if you are building in the source dir @@ -81,16 +81,16 @@ install-man: $(MAN_FILES) $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) $(INSTALL_DATA) $< $(DESTDIR)$(mandir)/man$(SECTION) -$(TARGET).$(SECTION): $(srcdir)/$(TARGET).$(SECTION).in +%.$(SECTION): $(srcdir)/%.$(SECTION).in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status # build postscript and pdf formats -$(TARGET).ps: $(TARGET).$(SECTION) - groff -man < $< > $@ +#$(TARGET).ps: $(TARGET).$(SECTION) +# groff -man < $< > $@ -$(TARGET).pdf: $(TARGET).ps - ps2pdf $< $@ +#$(TARGET).pdf: $(TARGET).ps +# ps2pdf $< $@ ifeq (,$(MAKECMDGOALS)) -include $(DEPS) diff --git a/icu4c/source/tools/makeconv/Makefile.in b/icu4c/source/tools/makeconv/Makefile.in index 47f9644cd0e..599568fb8c5 100644 --- a/icu4c/source/tools/makeconv/Makefile.in +++ b/icu4c/source/tools/makeconv/Makefile.in @@ -15,9 +15,9 @@ include $(top_builddir)/icudefs.mk SECTION = 1 -MANX_FILES = $(TARGET).$(SECTION) +MANX_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) -GENERATED_MAN_FILES = $(TARGET).$(SECTION) +GENERATED_MAN_FILES = $(TARGET:$(EXEEXT)=).$(SECTION) ALL_MAN_FILES = $(MANX_FILES) @@ -29,7 +29,7 @@ subdir = tools/makeconv CLEANFILES = *~ $(GENERATED_MAN_FILES) $(DEPS) $(CNV_FILES) $(TEST_CNV_FILES) ## Target information -TARGET = makeconv +TARGET = makeconv$(EXEEXT) CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(srcdir)/../toolutil LIBS = $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) @@ -87,7 +87,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status $(TARGET): $(OBJECTS) - $(LINK.cc) -o $@ $^ $(LIBS) + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) install-man: install-manx install-manx: $(MANX_FILES) diff --git a/icu4c/source/tools/toolutil/Makefile.in b/icu4c/source/tools/toolutil/Makefile.in index 4eb76409d66..65be272b89c 100644 --- a/icu4c/source/tools/toolutil/Makefile.in +++ b/icu4c/source/tools/toolutil/Makefile.in @@ -98,7 +98,7 @@ endif ifneq ($(ENABLE_SHARED),) $(FINAL_SO_TARGET): $(OBJECTS) - $(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS) + $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) endif ifeq (,$(MAKECMDGOALS))