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 |