| OLD | NEW |
| 1 ## -*-makefile-*- | 1 ## -*-makefile-*- |
| 2 ## Cygwin64/MinGW64 specific setup | 2 ## Cygwin64/MinGW64 specific setup |
| 3 ## Copyright (c) 2012-2013, International Business Machines Corporation and | 3 ## Copyright (c) 2012-2014, International Business Machines Corporation and |
| 4 ## others. All Rights Reserved. | 4 ## others. All Rights Reserved. |
| 5 | 5 |
| 6 # TODO: Finish the rest of this port. This platform port is incomplete. | 6 # TODO: Finish the rest of this port. This platform port is incomplete. |
| 7 | 7 |
| 8 # This file is similar to mh-mingw | 8 # This file is similar to mh-mingw |
| 9 # Any changes made here may also need to be made in mh-mingw | 9 # Any changes made here may also need to be made in mh-mingw |
| 10 | 10 |
| 11 # We install sbin tools into the same bin directory because | 11 # We install sbin tools into the same bin directory because |
| 12 # pkgdata needs some of the tools in sbin, and we can't always depend on | 12 # pkgdata needs some of the tools in sbin, and we can't always depend on |
| 13 # icu-config working on Windows. | 13 # icu-config working on Windows. |
| (...skipping 23 matching lines...) Expand all Loading... |
| 37 LIBCPPFLAGS = | 37 LIBCPPFLAGS = |
| 38 | 38 |
| 39 # Commands to link. Link with C++ in case static libraries are used. | 39 # Commands to link. Link with C++ in case static libraries are used. |
| 40 LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) | 40 LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) |
| 41 #LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) | 41 #LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) |
| 42 | 42 |
| 43 ## Shared library options | 43 ## Shared library options |
| 44 LD_SOOPTIONS= -Wl,-Bsymbolic | 44 LD_SOOPTIONS= -Wl,-Bsymbolic |
| 45 | 45 |
| 46 ## Commands to make a shared library | 46 ## Commands to make a shared library |
| 47 SHLIB.c=» $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-
auto-import -Wl,--out-implib=$(dir $@)$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(
SO)=))$(IMPORT_LIB_EXT)#M# | 47 SHLIB.c=» $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-
auto-import -Wl,--out-implib=$(dir $@)lib$(notdir $(@:$(SO_TARGET_VERSION_MAJOR)
.$(SO)=))$(IMPORT_LIB_EXT)#M# |
| 48 SHLIB.cc=» $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enab
le-auto-import -Wl,--out-implib=$(dir $@)$(notdir $(@:$(SO_TARGET_VERSION_MAJOR)
.$(SO)=))$(IMPORT_LIB_EXT)#M# | 48 SHLIB.cc=» $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enab
le-auto-import -Wl,--out-implib=$(dir $@)lib$(notdir $(@:$(SO_TARGET_VERSION_MAJ
OR).$(SO)=))$(IMPORT_LIB_EXT)#M# |
| 49 | 49 |
| 50 ## Compiler switch to embed a runtime search path | 50 ## Compiler switch to embed a runtime search path |
| 51 LD_RPATH= | 51 LD_RPATH= |
| 52 LD_RPATH_PRE= -Wl,-rpath, | 52 LD_RPATH_PRE= -Wl,-rpath, |
| 53 | 53 |
| 54 ## Compiler switch to embed a library name | 54 ## Compiler switch to embed a library name |
| 55 LD_SONAME = | 55 LD_SONAME = |
| 56 | 56 |
| 57 ## Shared object suffix | 57 ## Shared object suffix |
| 58 SO = dll | 58 SO = dll |
| (...skipping 14 matching lines...) Expand all Loading... |
| 73 IMPORT_LIB_EXT = .dll.a | 73 IMPORT_LIB_EXT = .dll.a |
| 74 | 74 |
| 75 LIBPREFIX= | 75 LIBPREFIX= |
| 76 | 76 |
| 77 # Change the stubnames so that poorly working FAT disks and installation program
s can work. | 77 # Change the stubnames so that poorly working FAT disks and installation program
s can work. |
| 78 # This is also for backwards compatibility. | 78 # This is also for backwards compatibility. |
| 79 DATA_STUBNAME = dt | 79 DATA_STUBNAME = dt |
| 80 I18N_STUBNAME = in | 80 I18N_STUBNAME = in |
| 81 LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) | 81 LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) |
| 82 | 82 |
| 83 #SH### copied from Makefile.inc |
| 84 #SH## for icu-config to test with |
| 85 #SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBS
UFFIX_VERSION}.${SO}" |
| 86 #SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}" |
| 87 |
| 88 #SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VE
RSION)" |
| 89 #SH#ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VE
RSION)" |
| 90 #SH# |
| 91 #SH## ICULIBS is the set of libraries your application should link |
| 92 #SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well. |
| 93 #SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} " |
| 94 |
| 83 # The #M# is used to delete lines for icu-config | 95 # The #M# is used to delete lines for icu-config |
| 84 # Current full path directory. | 96 # Current full path directory. |
| 85 #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS | 97 #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS |
| 86 CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell | 98 CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell |
| 87 # Current full path directory for use in source code in a -D compiler option. | 99 # Current full path directory for use in source code in a -D compiler option. |
| 88 #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS | 100 #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS |
| 89 CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell | 101 CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell |
| 90 | 102 |
| 91 ## Compilation rules | 103 ## Compilation rules |
| 92 %.$(STATIC_O): $(srcdir)/%.c | 104 %.$(STATIC_O): $(srcdir)/%.c |
| (...skipping 18 matching lines...) Expand all Loading... |
| 111 @echo -n "$@ " > $@ | 123 @echo -n "$@ " > $@ |
| 112 @$(GEN_DEPS.cc) $< >> $@ || (rm -f $@ && FALSE) | 124 @$(GEN_DEPS.cc) $< >> $@ || (rm -f $@ && FALSE) |
| 113 | 125 |
| 114 ## Versioned target for a shared library. | 126 ## Versioned target for a shared library. |
| 115 ## Since symbolic links don't work the same way on Windows, | 127 ## Since symbolic links don't work the same way on Windows, |
| 116 ## we only use the version major number. | 128 ## we only use the version major number. |
| 117 #FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO) | 129 #FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO) |
| 118 FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO) | 130 FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO) |
| 119 MIDDLE_SO_TARGET=$(FINAL_SO_TARGET) | 131 MIDDLE_SO_TARGET=$(FINAL_SO_TARGET) |
| 120 | 132 |
| 121 FINAL_IMPORT_LIB = $(dir $(SO_TARGET))$(notdir $(basename $(SO_TARGET)))$(IMPORT
_LIB_EXT)#M# | 133 FINAL_IMPORT_LIB = $(dir $(SO_TARGET))lib$(notdir $(basename $(SO_TARGET)))$(IMP
ORT_LIB_EXT)#M# |
| 122 IMPORT_LIB = $(FINAL_IMPORT_LIB)#M# | 134 IMPORT_LIB = $(FINAL_IMPORT_LIB)#M# |
| 123 MIDDLE_IMPORT_LIB = $(FINAL_IMPORT_LIB)#M# | 135 MIDDLE_IMPORT_LIB = $(FINAL_IMPORT_LIB)#M# |
| 124 | 136 |
| 125 ## Special pkgdata information that is needed | 137 ## Special pkgdata information that is needed |
| 126 PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR) | 138 PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR) |
| 127 #ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M# | 139 #ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M# |
| 128 #ICUPKGDATA_INSTALL_LIBDIR = $(shell cygpath -dma $(DESTDIR)$(libdir))#M# | 140 #ICUPKGDATA_INSTALL_LIBDIR = $(shell cygpath -dma $(DESTDIR)$(libdir))#M# |
| 129 | 141 |
| 130 ## Versioned libraries rules | 142 ## Versioned libraries rules |
| 131 #%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO) | 143 #%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO) |
| 132 # $(RM) $@ && cp ${<F} $@ | 144 # $(RM) $@ && cp ${<F} $@ |
| 133 %.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO) | 145 %.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO) |
| 134 @echo -n | 146 @echo -n |
| 135 | 147 |
| 136 # Environment variable to set a runtime search path | 148 # Environment variable to set a runtime search path |
| 137 LDLIBRARYPATH_ENVVAR = PATH | 149 LDLIBRARYPATH_ENVVAR = PATH |
| 138 | 150 |
| 139 # The type of assembly to write for generating an object file | 151 # The type of assembly to write for generating an object file |
| 140 GENCCODE_ASSEMBLY=-a gcc-mingw64 | 152 GENCCODE_ASSEMBLY=-a gcc-mingw64 |
| 141 | 153 |
| 142 # These are needed to allow the pkgdata GNU make files to work | 154 # These are needed to allow the pkgdata GNU make files to work |
| 143 PKGDATA_DEFS = -DU_MAKE=\"$(MAKE)\" | 155 PKGDATA_DEFS = -DU_MAKE=\"$(MAKE)\" |
| 144 | 156 |
| 145 ## End Cygwin64/MinGW64 specific setup | 157 ## End Cygwin64/MinGW64 specific setup |
| 146 | 158 |
| OLD | NEW |