Home | History | Annotate | Download | only in layout
      1 #******************************************************************************
      2 #
      3 #   Copyright (C) 1999-2011, 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 
    135 ## Header files to install
    136 HEADERS= $(srcdir)/LayoutEngine.h $(srcdir)/LE*.h $(srcdir)/loengine.h
    137 
    138 STATIC_OBJECTS = $(OBJECTS:.o=.$(STATIC_O))
    139 
    140 DEPS = $(OBJECTS:.o=.d)
    141 
    142 -include Makefile.local
    143 
    144 ## List of phony targets
    145 .PHONY : all all-local install install-local clean clean-local	\
    146 distclean distclean-local install-library install-headers dist	\
    147 dist-local check check-local check-exhaustive
    148 
    149 ## Clear suffix list
    150 .SUFFIXES :
    151 
    152 ## List of standard targets
    153 all: all-local
    154 install: install-local
    155 clean: clean-local
    156 distclean : distclean-local
    157 dist: dist-local
    158 check: all check-local
    159 
    160 check-exhaustive: check
    161 
    162 all-local: $(ALL_TARGETS)
    163 
    164 install-local: install-headers install-library
    165 
    166 install-library: all-local
    167 	$(MKINSTALLDIRS) $(DESTDIR)$(libdir)
    168 ifneq ($(ENABLE_STATIC),)
    169 	$(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
    170 endif
    171 ifneq ($(ENABLE_SHARED),)
    172 	$(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)
    173 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
    174 	cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET))
    175 ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET))
    176 	cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET))
    177 endif
    178 endif
    179 ifneq ($(IMPORT_LIB_EXT),)
    180 	$(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)
    181 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB))
    182 	cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(IMPORT_LIB))
    183 endif
    184 ifneq ($(MIDDLE_IMPORT_LIB),$(FINAL_IMPORT_LIB))
    185 	cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(MIDDLE_IMPORT_LIB))
    186 endif
    187 endif
    188 endif
    189 
    190 install-headers:
    191 	$(MKINSTALLDIRS) $(DESTDIR)$(includedir)/layout
    192 	@for file in $(HEADERS); do \
    193 	 echo "$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/layout"; \
    194 	 $(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/layout || exit; \
    195 	done
    196 
    197 dist-local:
    198 
    199 clean-local:
    200 	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
    201 	$(RMV) $(OBJECTS) $(STATIC_OBJECTS) $(ALL_TARGETS) $(SO_VERSION_DATA)
    202 
    203 distclean-local: clean-local
    204 	$(RMV) Makefile
    205 
    206 check-local:
    207 
    208 Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
    209 	cd $(top_builddir) \
    210 	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
    211 
    212 ifneq ($(ENABLE_STATIC),)
    213 $(TARGET): $(STATIC_OBJECTS)
    214 	$(AR) $(ARFLAGS) $(AR_OUTOPT)$@ $^
    215 	$(RANLIB) $@
    216 endif
    217 
    218 ifneq ($(ENABLE_SHARED),)
    219 $(SHARED_OBJECT): $(OBJECTS) $(SO_VERSION_DATA)
    220 	$(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS)
    221 ifeq ($(ENABLE_RPATH),YES)
    222 ifneq ($(wildcard $(libdir)/$(MIDDLE_SO_TARGET)),)
    223 	$(warning RPATH warning: --enable-rpath means test programs may use existing $(libdir)/$(MIDDLE_SO_TARGET))
    224 endif
    225 endif
    226 
    227 ifeq ($(OS390BATCH),1)
    228 $(BATCH_TARGET):$(OBJECTS)
    229 	$(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(BATCH_LIBS)
    230 endif   # OS390BATCH
    231 endif   # ENABLE_SHARED
    232 
    233 ifeq (,$(MAKECMDGOALS))
    234 -include $(DEPS)
    235 else
    236 ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
    237 -include $(DEPS)
    238 endif
    239 endif
    240 
    241