1 #******************************************************************************
3 # Copyright (C) 1999-2013, International Business Machines
4 # Corporation and others. All Rights Reserved.
6 #******************************************************************************
7 ## Makefile.in for ICU - layout
9 ## Source directory information
11 top_srcdir = @top_srcdir@
15 ## All the flags and other definitions are included here.
16 include $(top_builddir)/icudefs.mk
18 ## Build directory information
21 ## Extra files to remove for 'make clean'
22 CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB)
26 TARGET_STUBNAME=$(LAYOUT_STUBNAME)
28 ifneq ($(ENABLE_STATIC),)
29 TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A)
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)
36 ifeq ($(ENABLE_SO_VERSION_DATA),1)
37 SO_VERSION_DATA = layout.res
40 ifeq ($(OS390BATCH),1)
41 BATCH_TARGET = $(BATCH_LAYOUT_TARGET)
42 BATCH_LIBS = $(BATCH_LIBICUUC) -lm
47 ALL_TARGETS = $(TARGET) $(ALL_SO_TARGETS) $(BATCH_TARGET)
49 DYNAMICCPPFLAGS = $(SHAREDLIBCPPFLAGS)
50 DYNAMICCFLAGS = $(SHAREDLIBCFLAGS)
51 DYNAMICCXXFLAGS = $(SHAREDLIBCXXFLAGS)
52 CFLAGS += $(LIBCFLAGS)
53 CXXFLAGS += $(LIBCXXFLAGS)
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)
60 OBJECTS = LEFontInstance.o \
61 OpenTypeLayoutEngine.o \
65 ArabicLayoutEngine.o \
70 ContextualGlyphSubstProc.o \
71 IndicRearrangementProcessor.o \
75 NonContextualGlyphSubstProc.o \
76 SegmentArrayProcessor.o \
77 SegmentSingleProcessor.o \
78 SimpleArrayProcessor.o \
79 SingleTableProcessor.o \
80 StateTableProcessor.o \
82 TrimmedArrayProcessor.o \
83 AlternateSubstSubtables.o \
88 ClassDefinitionTables.o \
89 ContextualSubstSubtables.o \
91 CursiveAttachmentSubtables.o \
93 ExtensionSubtables.o \
96 GlyphDefinitionTables.o \
99 GlyphPosnLookupProc.o \
100 GlyphPositionAdjustments.o \
101 GlyphPositioningTables.o \
102 GlyphSubstLookupProc.o \
103 GlyphSubstitutionTables.o \
108 LigatureSubstSubtables.o \
112 MarkToBasePosnSubtables.o \
113 MarkToLigaturePosnSubtables.o \
114 MarkToMarkPosnSubtables.o \
117 MultipleSubstSubtables.o \
118 OpenTypeUtilities.o \
119 PairPositioningSubtables.o \
120 ScriptAndLanguage.o \
121 ScriptAndLanguageTags.o \
123 SinglePositioningSubtables.o \
124 SingleSubstitutionSubtables.o \
125 SubstitutionLookups.o \
127 KhmerLayoutEngine.o \
129 TibetanLayoutEngine.o \
130 TibetanReordering.o \
131 HangulLayoutEngine.o \
134 ContextualGlyphInsertionProc2.o \
135 ContextualGlyphSubstProc2.o \
137 IndicRearrangementProcessor2.o \
138 LigatureSubstProc2.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
149 ## Header files to install
150 HEADERS= $(srcdir)/LayoutEngine.h $(srcdir)/LE*.h $(srcdir)/loengine.h
152 STATIC_OBJECTS = $(OBJECTS:.o=.$(STATIC_O))
154 DEPS = $(OBJECTS:.o=.d)
156 -include Makefile.local
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
166 ## List of standard targets
168 install: install-local
170 distclean : distclean-local
172 check: all check-local
174 check-exhaustive: check
176 all-local: $(ALL_TARGETS)
178 install-local: install-headers install-library
180 install-library: all-local
181 $(MKINSTALLDIRS) $(DESTDIR)$(libdir)
182 ifneq ($(ENABLE_STATIC),)
183 $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
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))
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))
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))
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; \
214 test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
215 $(RMV) $(OBJECTS) $(STATIC_OBJECTS) $(ALL_TARGETS) $(SO_VERSION_DATA)
217 distclean-local: clean-local
222 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
224 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
226 ifneq ($(ENABLE_STATIC),)
227 $(TARGET): $(STATIC_OBJECTS)
228 $(AR) $(ARFLAGS) $(AR_OUTOPT)$@ $^
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))
241 ifeq ($(OS390BATCH),1)
242 $(BATCH_TARGET):$(OBJECTS)
243 $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(BATCH_LIBS)
245 endif # ENABLE_SHARED
247 ifeq (,$(MAKECMDGOALS))
250 ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)