Home | History | Annotate | Download | only in layoutex
      1 # Copyright (C) 2016 and later: Unicode, Inc. and others.
      2 # License & terms of use: http://www.unicode.org/copyright.html
      3 #******************************************************************************
      4 #
      5 #   Copyright (C) 1999-2014, International Business Machines
      6 #   Corporation and others.  All Rights Reserved.
      7 #
      8 #******************************************************************************
      9 ## Makefile.in for ICU - layout
     10 
     11 ## Source directory information
     12 srcdir = @srcdir@
     13 top_srcdir = @top_srcdir@
     14 
     15 top_builddir = ..
     16 
     17 ## All the flags and other definitions are included here.
     18 include $(top_builddir)/icudefs.mk
     19 
     20 ## Build directory information
     21 subdir = layoutex
     22 
     23 ## Extra files to remove for 'make clean'
     24 CLEANFILES = *~ $(DEPS) $(IMPORT_LIB) $(MIDDLE_IMPORT_LIB) $(FINAL_IMPORT_LIB)
     25 
     26 ## Target information
     27 
     28 TARGET_STUBNAME=$(LAYOUTEX_STUBNAME)
     29 
     30 ifneq ($(ENABLE_STATIC),)
     31 TARGET = $(LIBDIR)/$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A)
     32 endif
     33 
     34 ifneq ($(ENABLE_SHARED),)
     35 SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO)
     36 ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) $(SHARED_OBJECT)
     37 
     38 ifeq ($(ENABLE_SO_VERSION_DATA),1)
     39 SO_VERSION_DATA = layoutex.res
     40 endif
     41 
     42 ifeq ($(OS390BATCH),1)
     43 BATCH_TARGET = $(BATCH_LAYOUTEX_TARGET)
     44 BATCH_LIBS = $(BATCH_LIBICUUC) $(BATCH_LIBICULE) -lm
     45 endif   # OS390BATCH
     46 
     47 endif   # ENABLE_SHARED
     48 
     49 ALL_TARGETS = $(TARGET) $(ALL_SO_TARGETS) $(BATCH_TARGET)
     50 
     51 DYNAMICCPPFLAGS = $(SHAREDLIBCPPFLAGS)
     52 DYNAMICCFLAGS = $(SHAREDLIBCFLAGS)
     53 DYNAMICCXXFLAGS = $(SHAREDLIBCXXFLAGS)
     54 CFLAGS += $(LIBCFLAGS)
     55 CXXFLAGS += $(LIBCXXFLAGS)
     56 
     57 
     58 ifeq ($(USING_ICULEHB),no)
     59 # cppflags: load .. so that #include <layout/...> works
     60 ICULE_CFLAGS=-I$(srcdir)/..
     61 else
     62 ICULE_CFLAGS=$(ICULEHB_CFLAGS)
     63 endif
     64 
     65 CPPFLAGS += -I$(srcdir) -I$(srcdir)/unicode -I$(top_srcdir)/common $(ICULE_CFLAGS) $(LIBCPPFLAGS)
     66 DEFS += -DU_LAYOUTEX_IMPLEMENTATION
     67 LDFLAGS += $(LDFLAGSICULX)
     68 LIBS = $(LIBICUUC) $(LIBICULE) $(DEFAULT_LIBS)
     69 
     70 OBJECTS =  ParagraphLayout.o \
     71 RunArrays.o \
     72 LXUtilities.o  \
     73 playout.o \
     74 plruns.o
     75 
     76 ## Header files to install
     77 HEADERS= $(srcdir)/layout/ParagraphLayout.h $(srcdir)/layout/RunArrays.h $(srcdir)/layout/playout.h $(srcdir)/layout/plruns.h
     78 
     79 STATIC_OBJECTS = $(OBJECTS:.o=.$(STATIC_O))
     80 
     81 DEPS = $(OBJECTS:.o=.d)
     82 
     83 -include Makefile.local
     84 
     85 ## List of phony targets
     86 .PHONY : all all-local install install-local clean clean-local	\
     87 distclean distclean-local install-library install-headers dist	\
     88 dist-local check check-local check-exhaustive
     89 
     90 ## Clear suffix list
     91 .SUFFIXES :
     92 
     93 ## List of standard targets
     94 all: all-local
     95 install: install-local
     96 clean: clean-local
     97 distclean : distclean-local
     98 dist: dist-local
     99 check: all check-local
    100 
    101 check-exhaustive: check
    102 
    103 all-local: $(ALL_TARGETS)
    104 
    105 install-local: install-headers install-library
    106 ifneq ($(ICULE_CFLAGS),)
    107 	@echo "Installing icu-lx.pc"
    108 	$(MAKE) ALL_PKGCONFIG_SUFFIX=lx -C .. install-pkgconfig
    109 endif
    110 
    111 install-library: all-local
    112 	$(MKINSTALLDIRS) $(DESTDIR)$(libdir)
    113 ifneq ($(ENABLE_STATIC),)
    114 	$(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
    115 endif
    116 ifneq ($(ENABLE_SHARED),)
    117 	$(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)
    118 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
    119 	cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET))
    120 ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET))
    121 	cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET))
    122 endif
    123 endif
    124 ifneq ($(IMPORT_LIB_EXT),)
    125 	$(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)
    126 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB))
    127 	cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(IMPORT_LIB))
    128 endif
    129 ifneq ($(MIDDLE_IMPORT_LIB),$(FINAL_IMPORT_LIB))
    130 	cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(MIDDLE_IMPORT_LIB))
    131 endif
    132 endif
    133 endif
    134 
    135 install-headers:
    136 	$(MKINSTALLDIRS) $(DESTDIR)$(includedir)/layout
    137 	@for file in $(HEADERS); do \
    138 	 echo "$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/layout"; \
    139 	 $(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/layout || exit; \
    140 	done
    141 
    142 dist-local:
    143 
    144 clean-local:
    145 	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
    146 	$(RMV) $(OBJECTS) $(STATIC_OBJECTS) $(ALL_TARGETS) $(SO_VERSION_DATA)
    147 
    148 distclean-local: clean-local
    149 	$(RMV) Makefile
    150 
    151 check-local:
    152 
    153 Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
    154 	cd $(top_builddir) \
    155 	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
    156 
    157 ifneq ($(ENABLE_STATIC),)
    158 $(TARGET): $(STATIC_OBJECTS)
    159 	$(AR) $(ARFLAGS) $(AR_OUTOPT)$@ $^
    160 	$(RANLIB) $@
    161 endif
    162 
    163 ifneq ($(ENABLE_SHARED),)
    164 $(SHARED_OBJECT): $(OBJECTS) $(SO_VERSION_DATA)
    165 	$(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS)
    166 ifeq ($(ENABLE_RPATH),YES)
    167 ifneq ($(wildcard $(libdir)/$(MIDDLE_SO_TARGET)),)
    168 	$(warning RPATH warning: --enable-rpath means test programs may use existing $(libdir)/$(MIDDLE_SO_TARGET))
    169 endif
    170 endif
    171 
    172 ifeq ($(OS390BATCH),1)
    173 $(BATCH_TARGET):$(OBJECTS)
    174 	$(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(BATCH_LIBS)
    175 endif   # OS390BATCH
    176 endif   # ENABLE_SHARED
    177 
    178 ifeq (,$(MAKECMDGOALS))
    179 -include $(DEPS)
    180 else
    181 ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
    182 -include $(DEPS)
    183 endif
    184 endif
    185 
    186