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