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