Home | History | Annotate | Download | only in layout
      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