1 #****************************************************************************** 2 # 3 # Copyright (C) 1999-2013, International Business Machines 4 # Corporation and others. All Rights Reserved. 5 # 6 #****************************************************************************** 7 ## Makefile.in for ICU - layout 8 9 ## Source directory information 10 srcdir = @srcdir@ 11 top_srcdir = @top_srcdir@ 12 13 top_builddir = .. 14 15 ## All the flags and other definitions are included here. 16 include $(top_builddir)/icudefs.mk 17 18 ## Build directory information 19 subdir = layout 20 21 ## Extra files to remove for 'make clean' 22 CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB) 23 24 ## Target information 25 26 TARGET_STUBNAME=$(LAYOUT_STUBNAME) 27 28 ifneq ($(ENABLE_STATIC),) 29 TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A) 30 endif 31 32 ifneq ($(ENABLE_SHARED),) 33 SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) 34 ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) $(SHARED_OBJECT) 35 36 ifeq ($(ENABLE_SO_VERSION_DATA),1) 37 SO_VERSION_DATA = layout.res 38 endif 39 40 ifeq ($(OS390BATCH),1) 41 BATCH_TARGET = $(BATCH_LAYOUT_TARGET) 42 BATCH_LIBS = $(BATCH_LIBICUUC) -lm 43 endif # OS390BATCH 44 45 endif # ENABLE_SHARED 46 47 ALL_TARGETS = $(TARGET) $(ALL_SO_TARGETS) $(BATCH_TARGET) 48 49 DYNAMICCPPFLAGS = $(SHAREDLIBCPPFLAGS) 50 DYNAMICCFLAGS = $(SHAREDLIBCFLAGS) 51 DYNAMICCXXFLAGS = $(SHAREDLIBCXXFLAGS) 52 CFLAGS += $(LIBCFLAGS) 53 CXXFLAGS += $(LIBCXXFLAGS) 54 55 CPPFLAGS += -I$(srcdir) -I$(srcdir)/.. -I$(top_srcdir)/common -I$(srcdir)/unicode $(LIBCPPFLAGS) 56 DEFS += -DU_LAYOUT_IMPLEMENTATION 57 LDFLAGS += $(LDFLAGSICULE) 58 LIBS = $(LIBICUUC) $(DEFAULT_LIBS) 59 60 OBJECTS = LEFontInstance.o \ 61 OpenTypeLayoutEngine.o \ 62 ThaiLayoutEngine.o \ 63 ThaiShaping.o \ 64 ThaiStateTables.o \ 65 ArabicLayoutEngine.o \ 66 GXLayoutEngine.o \ 67 HanLayoutEngine.o \ 68 IndicLayoutEngine.o \ 69 LayoutEngine.o \ 70 ContextualGlyphSubstProc.o \ 71 IndicRearrangementProcessor.o \ 72 LigatureSubstProc.o \ 73 LookupTables.o \ 74 MorphTables.o \ 75 NonContextualGlyphSubstProc.o \ 76 SegmentArrayProcessor.o \ 77 SegmentSingleProcessor.o \ 78 SimpleArrayProcessor.o \ 79 SingleTableProcessor.o \ 80 StateTableProcessor.o \ 81 SubtableProcessor.o \ 82 TrimmedArrayProcessor.o \ 83 AlternateSubstSubtables.o \ 84 AnchorTables.o \ 85 ArabicShaping.o \ 86 CanonData.o \ 87 CanonShaping.o \ 88 ClassDefinitionTables.o \ 89 ContextualSubstSubtables.o \ 90 CoverageTables.o \ 91 CursiveAttachmentSubtables.o \ 92 DeviceTables.o \ 93 ExtensionSubtables.o \ 94 Features.o \ 95 GDEFMarkFilter.o \ 96 GlyphDefinitionTables.o \ 97 GlyphIterator.o \ 98 GlyphLookupTables.o \ 99 GlyphPosnLookupProc.o \ 100 GlyphPositionAdjustments.o \ 101 GlyphPositioningTables.o \ 102 GlyphSubstLookupProc.o \ 103 GlyphSubstitutionTables.o \ 104 IndicClassTables.o \ 105 IndicReordering.o \ 106 LEInsertionList.o \ 107 LEGlyphStorage.o \ 108 LigatureSubstSubtables.o \ 109 LookupProcessor.o \ 110 Lookups.o \ 111 MarkArrays.o \ 112 MarkToBasePosnSubtables.o \ 113 MarkToLigaturePosnSubtables.o \ 114 MarkToMarkPosnSubtables.o \ 115 MirroredCharData.o \ 116 MPreFixups.o \ 117 MultipleSubstSubtables.o \ 118 OpenTypeUtilities.o \ 119 PairPositioningSubtables.o \ 120 ScriptAndLanguage.o \ 121 ScriptAndLanguageTags.o \ 122 ShapingTypeData.o \ 123 SinglePositioningSubtables.o \ 124 SingleSubstitutionSubtables.o \ 125 SubstitutionLookups.o \ 126 ValueRecords.o \ 127 KhmerLayoutEngine.o \ 128 KhmerReordering.o \ 129 TibetanLayoutEngine.o \ 130 TibetanReordering.o \ 131 HangulLayoutEngine.o \ 132 KernTable.o \ 133 loengine.o \ 134 ContextualGlyphInsertionProc2.o \ 135 ContextualGlyphSubstProc2.o \ 136 GXLayoutEngine2.o \ 137 IndicRearrangementProcessor2.o \ 138 LigatureSubstProc2.o \ 139 MorphTables2.o \ 140 NonContextualGlyphSubstProc2.o \ 141 SegmentArrayProcessor2.o \ 142 SegmentSingleProcessor2.o \ 143 SimpleArrayProcessor2.o \ 144 SingleTableProcessor2.o \ 145 StateTableProcessor2.o \ 146 SubtableProcessor2.o \ 147 TrimmedArrayProcessor2.o 148 149 ## Header files to install 150 HEADERS= $(srcdir)/LayoutEngine.h $(srcdir)/LE*.h $(srcdir)/loengine.h 151 152 STATIC_OBJECTS = $(OBJECTS:.o=.$(STATIC_O)) 153 154 DEPS = $(OBJECTS:.o=.d) 155 156 -include Makefile.local 157 158 ## List of phony targets 159 .PHONY : all all-local install install-local clean clean-local \ 160 distclean distclean-local install-library install-headers dist \ 161 dist-local check check-local check-exhaustive 162 163 ## Clear suffix list 164 .SUFFIXES : 165 166 ## List of standard targets 167 all: all-local 168 install: install-local 169 clean: clean-local 170 distclean : distclean-local 171 dist: dist-local 172 check: all check-local 173 174 check-exhaustive: check 175 176 all-local: $(ALL_TARGETS) 177 178 install-local: install-headers install-library 179 180 install-library: all-local 181 $(MKINSTALLDIRS) $(DESTDIR)$(libdir) 182 ifneq ($(ENABLE_STATIC),) 183 $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir) 184 endif 185 ifneq ($(ENABLE_SHARED),) 186 $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir) 187 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET)) 188 cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET)) 189 ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET)) 190 cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET)) 191 endif 192 endif 193 ifneq ($(IMPORT_LIB_EXT),) 194 $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir) 195 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB)) 196 cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(IMPORT_LIB)) 197 endif 198 ifneq ($(MIDDLE_IMPORT_LIB),$(FINAL_IMPORT_LIB)) 199 cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(MIDDLE_IMPORT_LIB)) 200 endif 201 endif 202 endif 203 204 install-headers: 205 $(MKINSTALLDIRS) $(DESTDIR)$(includedir)/layout 206 @for file in $(HEADERS); do \ 207 echo "$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/layout"; \ 208 $(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/layout || exit; \ 209 done 210 211 dist-local: 212 213 clean-local: 214 test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) 215 $(RMV) $(OBJECTS) $(STATIC_OBJECTS) $(ALL_TARGETS) $(SO_VERSION_DATA) 216 217 distclean-local: clean-local 218 $(RMV) Makefile 219 220 check-local: 221 222 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 223 cd $(top_builddir) \ 224 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status 225 226 ifneq ($(ENABLE_STATIC),) 227 $(TARGET): $(STATIC_OBJECTS) 228 $(AR) $(ARFLAGS) $(AR_OUTOPT)$@ $^ 229 $(RANLIB) $@ 230 endif 231 232 ifneq ($(ENABLE_SHARED),) 233 $(SHARED_OBJECT): $(OBJECTS) $(SO_VERSION_DATA) 234 $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) 235 ifeq ($(ENABLE_RPATH),YES) 236 ifneq ($(wildcard $(libdir)/$(MIDDLE_SO_TARGET)),) 237 $(warning RPATH warning: --enable-rpath means test programs may use existing $(libdir)/$(MIDDLE_SO_TARGET)) 238 endif 239 endif 240 241 ifeq ($(OS390BATCH),1) 242 $(BATCH_TARGET):$(OBJECTS) 243 $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(BATCH_LIBS) 244 endif # OS390BATCH 245 endif # ENABLE_SHARED 246 247 ifeq (,$(MAKECMDGOALS)) 248 -include $(DEPS) 249 else 250 ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),) 251 -include $(DEPS) 252 endif 253 endif 254