Home | History | Annotate | Download | only in layout
      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
     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_MODULES = $(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_MODULES = $(TARGET) $(ALL_SO_MODULES) $(BATCH_TARGET)
     48 
     49 DYNAMICCPPFLAGS = $(SHAREDLIBCPPFLAGS)
     50 DYNAMICCFLAGS = $(SHAREDLIBCFLAGS)
     51 DYNAMICCXXFLAGS = $(SHAREDLIBCXXFLAGS)
     52 CFLAGS += $(LIBCFLAGS)
     53 CXXFLAGS += $(LIBCXXFLAGS)
     54 
     55 ifneq ($(top_builddir),$(top_srcdir))
     56 CPPFLAGS += -I$(top_builddir)/common
     57 endif
     58 CPPFLAGS += -I$(srcdir) -I$(srcdir)/.. -I$(top_srcdir)/common -I$(srcdir)/unicode $(LIBCPPFLAGS)
     59 DEFS += -DU_LAYOUT_IMPLEMENTATION
     60 LDFLAGS += $(LDFLAGSICULE)
     61 LIBS = $(LIBICUUC) $(DEFAULT_LIBS)
     62 
     63 OBJECTS =  LEFontInstance.o \
     64 OpenTypeLayoutEngine.o \
     65 ThaiLayoutEngine.o \
     66 ThaiShaping.o \
     67 ThaiStateTables.o \
     68 ArabicLayoutEngine.o \
     69 GXLayoutEngine.o \
     70 HanLayoutEngine.o \
     71 IndicLayoutEngine.o \
     72 LayoutEngine.o \
     73 ContextualGlyphSubstProc.o \
     74 IndicRearrangementProcessor.o \
     75 LigatureSubstProc.o \
     76 LookupTables.o \
     77 MorphTables.o \
     78 NonContextualGlyphSubstProc.o \
     79 SegmentArrayProcessor.o \
     80 SegmentSingleProcessor.o \
     81 SimpleArrayProcessor.o \
     82 SingleTableProcessor.o \
     83 StateTableProcessor.o \
     84 SubtableProcessor.o \
     85 TrimmedArrayProcessor.o \
     86 AlternateSubstSubtables.o \
     87 AnchorTables.o \
     88 ArabicShaping.o \
     89 CanonData.o \
     90 CanonShaping.o \
     91 ClassDefinitionTables.o \
     92 ContextualSubstSubtables.o \
     93 CoverageTables.o \
     94 CursiveAttachmentSubtables.o \
     95 DeviceTables.o \
     96 ExtensionSubtables.o \
     97 Features.o \
     98 GDEFMarkFilter.o \
     99 GlyphDefinitionTables.o \
    100 GlyphIterator.o \
    101 GlyphLookupTables.o \
    102 GlyphPosnLookupProc.o \
    103 GlyphPositionAdjustments.o \
    104 GlyphPositioningTables.o \
    105 GlyphSubstLookupProc.o \
    106 GlyphSubstitutionTables.o \
    107 IndicClassTables.o \
    108 IndicReordering.o \
    109 LEInsertionList.o \
    110 LEGlyphStorage.o \
    111 LigatureSubstSubtables.o \
    112 LookupProcessor.o \
    113 Lookups.o \
    114 MarkArrays.o \
    115 MarkToBasePosnSubtables.o \
    116 MarkToLigaturePosnSubtables.o \
    117 MarkToMarkPosnSubtables.o \
    118 MirroredCharData.o \
    119 MPreFixups.o \
    120 MultipleSubstSubtables.o \
    121 OpenTypeUtilities.o \
    122 PairPositioningSubtables.o \
    123 ScriptAndLanguage.o \
    124 ScriptAndLanguageTags.o \
    125 ShapingTypeData.o \
    126 SinglePositioningSubtables.o \
    127 SingleSubstitutionSubtables.o \
    128 SubstitutionLookups.o \
    129 ValueRecords.o \
    130 KhmerLayoutEngine.o \
    131 KhmerReordering.o \
    132 TibetanLayoutEngine.o \
    133 TibetanReordering.o \
    134 HangulLayoutEngine.o \
    135 KernTable.o \
    136 loengine.o
    137 
    138 ## Header files to install
    139 HEADERS= $(srcdir)/LayoutEngine.h $(srcdir)/LE*.h $(srcdir)/loengine.h
    140 
    141 STATIC_OBJECTS = $(OBJECTS:.o=.$(STATIC_O))
    142 
    143 DEPS = $(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	\
    149 distclean distclean-local install-library install-headers dist	\
    150 dist-local check check-local
    151 
    152 ## Clear suffix list
    153 .SUFFIXES :
    154 
    155 ## List of standard targets
    156 all: all-local
    157 install: install-local
    158 clean: clean-local
    159 distclean : distclean-local
    160 dist: dist-local
    161 check: all check-local
    162 
    163 all-local: $(ALL_MODULES)
    164 
    165 install-local: install-headers install-library
    166 
    167 install-library: all-local
    168 	$(MKINSTALLDIRS) $(DESTDIR)$(libdir)
    169 ifneq ($(ENABLE_STATIC),)
    170 	$(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
    171 endif
    172 ifneq ($(ENABLE_SHARED),)
    173 	$(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)
    174 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
    175 	cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET))
    176 ifneq ($(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))
    178 endif
    179 endif
    180 ifneq ($(IMPORT_LIB_EXT),)
    181 	$(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)
    182 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB))
    183 	cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(IMPORT_LIB))
    184 endif
    185 ifneq ($(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))
    187 endif
    188 endif
    189 endif
    190 
    191 install-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 
    198 dist-local:
    199 
    200 clean-local:
    201 	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
    202 	$(RMV) $(OBJECTS) $(STATIC_OBJECTS) $(ALL_MODULES) $(SO_VERSION_DATA)
    203 
    204 distclean-local: clean-local
    205 	$(RMV) Makefile
    206 
    207 check-local:
    208 
    209 Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
    210 	cd $(top_builddir) \
    211 	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
    212 
    213 ifneq ($(ENABLE_STATIC),)
    214 $(TARGET): $(STATIC_OBJECTS)
    215 	$(AR) $(ARFLAGS) $(AR_OUTOPT)$@ $^
    216 	$(RANLIB) $@
    217 endif
    218 
    219 ifneq ($(ENABLE_SHARED),)
    220 $(SHARED_OBJECT): $(OBJECTS) $(SO_VERSION_DATA)
    221 	$(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS)
    222 
    223 ifeq ($(OS390BATCH),1)
    224 $(BATCH_TARGET):$(OBJECTS)
    225 	$(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(BATCH_LIBS)
    226 endif   # OS390BATCH
    227 endif   # ENABLE_SHARED
    228 
    229 ifeq (,$(MAKECMDGOALS))
    230 -include $(DEPS)
    231 else
    232 ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
    233 -include $(DEPS)
    234 endif
    235 endif
    236 
    237