1 #******************************************************************************
3 # Copyright (C) 1999-2007, 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 ifneq ($(top_builddir),$(top_srcdir))
56 CPPFLAGS += -I$(top_builddir)/common
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)
63 OBJECTS = LEFontInstance.o \
64 OpenTypeLayoutEngine.o \
68 ArabicLayoutEngine.o \
73 ContextualGlyphSubstProc.o \
74 IndicRearrangementProcessor.o \
78 NonContextualGlyphSubstProc.o \
79 SegmentArrayProcessor.o \
80 SegmentSingleProcessor.o \
81 SimpleArrayProcessor.o \
82 SingleTableProcessor.o \
83 StateTableProcessor.o \
85 TrimmedArrayProcessor.o \
86 AlternateSubstSubtables.o \
91 ClassDefinitionTables.o \
92 ContextualSubstSubtables.o \
94 CursiveAttachmentSubtables.o \
96 ExtensionSubtables.o \
99 GlyphDefinitionTables.o \
101 GlyphLookupTables.o \
102 GlyphPosnLookupProc.o \
103 GlyphPositionAdjustments.o \
104 GlyphPositioningTables.o \
105 GlyphSubstLookupProc.o \
106 GlyphSubstitutionTables.o \
111 LigatureSubstSubtables.o \
115 MarkToBasePosnSubtables.o \
116 MarkToLigaturePosnSubtables.o \
117 MarkToMarkPosnSubtables.o \
120 MultipleSubstSubtables.o \
121 OpenTypeUtilities.o \
122 PairPositioningSubtables.o \
123 ScriptAndLanguage.o \
124 ScriptAndLanguageTags.o \
126 SinglePositioningSubtables.o \
127 SingleSubstitutionSubtables.o \
128 SubstitutionLookups.o \
130 KhmerLayoutEngine.o \
132 TibetanLayoutEngine.o \
133 TibetanReordering.o \
134 HangulLayoutEngine.o \
138 ## Header files to install
139 HEADERS= $(srcdir)/LayoutEngine.h $(srcdir)/LE*.h $(srcdir)/loengine.h
141 STATIC_OBJECTS = $(OBJECTS:.o=.$(STATIC_O))
143 DEPS = $(OBJECTS:.o=.d)
145 -include Makefile.local
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
155 ## List of standard targets
157 install: install-local
159 distclean : distclean-local
161 check: all check-local
163 all-local: $(ALL_TARGETS)
165 install-local: install-headers install-library
167 install-library: all-local
168 $(MKINSTALLDIRS) $(DESTDIR)$(libdir)
169 ifneq ($(ENABLE_STATIC),)
170 $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
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))
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))
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))
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; \
201 test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
202 $(RMV) $(OBJECTS) $(STATIC_OBJECTS) $(ALL_TARGETS) $(SO_VERSION_DATA)
204 distclean-local: clean-local
209 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
211 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
213 ifneq ($(ENABLE_STATIC),)
214 $(TARGET): $(STATIC_OBJECTS)
215 $(AR) $(ARFLAGS) $(AR_OUTOPT)$@ $^
219 ifneq ($(ENABLE_SHARED),)
220 $(SHARED_OBJECT): $(OBJECTS) $(SO_VERSION_DATA)
221 $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS)
223 ifeq ($(OS390BATCH),1)
224 $(BATCH_TARGET):$(OBJECTS)
225 $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(BATCH_LIBS)
227 endif # ENABLE_SHARED
229 ifeq (,$(MAKECMDGOALS))
232 ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)