1 ## Copyright (c) 1999-2003, International Business Machines Corporation and
2 ## others. All Rights Reserved.
3 ## Makefile.in for ICU - layout
5 SO_TARGET_VERSION = @LIB_VERSION@
6 SO_TARGET_VERSION_MAJOR = @LIB_VERSION_MAJOR@
8 ## Install directory information
10 top_srcdir = @top_srcdir@
14 include $(top_builddir)/icudefs.mk
16 ## Build directory information
19 ## Extra files to remove for 'make clean'
20 CLEANFILES = *~ $(DEPS)
26 ifneq ($(ENABLE_STATIC),)
27 TARGET = $(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).a
30 ifneq ($(ENABLE_SHARED),)
31 SO_TARGET = $(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO)
32 ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET)
35 ALL_TARGETS = $(TARGET) $(ALL_SO_TARGETS)
37 DYNAMICCPPFLAGS = $(SHAREDLIBCPPFLAGS)
38 DYNAMICCFLAGS = $(SHAREDLIBCFLAGS)
39 DYNAMICCXXFLAGS = $(SHAREDLIBCXXFLAGS)
41 CPPFLAGS += -I$(srcdir) -I$(top_builddir)/common -I$(srcdir)/unicode -I$(srcdir)/.. -I$(top_builddir)/common -I$(top_srcdir)/common $(LIBCPPFLAGS)
42 DEFS += -DU_LAYOUT_IMPLEMENTATION
43 LIBS = $(LIBICUUC) $(DEFAULT_LIBS)
45 OBJECTS = loengine.o \
47 OpenTypeLayoutEngine.o \
51 ArabicLayoutEngine.o \
56 ContextualGlyphSubstProc.o \
57 IndicRearrangementProcessor.o \
61 NonContextualGlyphSubstProc.o \
62 SegmentArrayProcessor.o \
63 SegmentSingleProcessor.o \
64 SimpleArrayProcessor.o \
65 SingleTableProcessor.o \
66 StateTableProcessor.o \
68 TrimmedArrayProcessor.o \
69 AlternateSubstSubtables.o \
71 ArabicLigatureData.o \
73 ClassDefinitionTables.o \
74 ContextualSubstSubtables.o \
76 CursiveAttachmentSubtables.o \
78 ExtensionSubtables.o \
81 GlyphDefinitionTables.o \
83 GlyphPosnLookupProc.o \
84 GlyphPositioningTables.o \
85 GlyphSubstLookupProc.o \
86 GlyphSubstitutionTables.o \
87 HebrewLigatureData.o \
91 LigatureSubstSubtables.o \
95 MarkToBasePosnSubtables.o \
96 MarkToLigaturePosnSubtables.o \
97 MarkToMarkPosnSubtables.o \
99 MultipleSubstSubtables.o \
100 OpenTypeUtilities.o \
101 PairPositioningSubtables.o \
102 ScriptAndLanguage.o \
103 ScriptAndLanguageTags.o \
104 SinglePositioningSubtables.o \
105 SingleSubstitutionSubtables.o \
106 SubstitutionLookups.o \
109 STATIC_OBJECTS = $(OBJECTS:.o=.$(STATIC_O))
111 DEPS = $(OBJECTS:.o=.d)
113 ## Header files to install
114 HEADERS= $(srcdir)/*LayoutEngine.h $(srcdir)/LE*.h
115 LOHEADERS= $(srcdir)/unicode/loengine.h
117 ## List of phony targets
118 .PHONY : all all-local install install-local clean clean-local \
119 distclean distclean-local install-library install-headers dist \
120 dist-local check check-local
125 ## List of standard targets
127 install: install-local
129 distclean : distclean-local
131 check: all check-local
133 all-local: $(ALL_TARGETS)
135 install-local: install-headers install-library
137 install-library: all-local
138 $(MKINSTALLDIRS) $(DESTDIR)$(libdir)
139 ifneq ($(ENABLE_STATIC),)
140 $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
142 ifneq ($(ENABLE_SHARED),)
143 $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)/$(FINAL_SO_TARGET)
144 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
145 cd $(DESTDIR)$(libdir) && $(RM) $(SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(SO_TARGET)
146 ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET))
147 cd $(DESTDIR)$(libdir) && $(RM) $(MIDDLE_SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET)
151 ifneq ($(IMPORT_LIB_EXT),)
152 $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)/$(FINAL_IMPORT_LIB)
153 cd $(DESTDIR)$(libdir) && $(RM) $(IMPORT_LIB) && ln -s $(FINAL_IMPORT_LIB) $(IMPORT_LIB)
154 ifneq ($(MIDDLE_IMPORT_LIB),$(FINAL_IMPORT_LIB))
155 cd $(DESTDIR)$(libdir) && $(RM) $(MIDDLE_IMPORT_LIB) && ln -s $(FINAL_IMPORT_LIB) $(MIDDLE_IMPORT_LIB)
161 $(MKINSTALLDIRS) $(DESTDIR)$(includedir)/layout
162 @for file in $(HEADERS); do \
163 echo "$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/layout"; \
164 $(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/layout || exit; \
166 @for file in $(LOHEADERS); do \
167 echo "$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/unicode"; \
168 $(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/unicode || exit; \
174 test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
175 $(RMV) $(OBJECTS) $(ALL_TARGETS)
176 # $(RMV) $(OBJECTS) $(STATIC_OBJECTS) $(ALL_TARGETS)
178 distclean-local: clean-local
183 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
185 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
187 ifneq ($(ENABLE_STATIC),)
188 $(TARGET): $(TARGET)($(STATIC_OBJECTS))
192 ifneq ($(ENABLE_SHARED),)
193 $(FINAL_SO_TARGET): $(OBJECTS)
194 $(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS)
197 ifeq (,$(MAKECMDGOALS))
200 ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)