1## Makefile.in for ICU - tools/icuinfo
2## Copyright (C) 2016 and later: Unicode, Inc. and others.
3## License & terms of use: http://www.unicode.org/copyright.html
4## Copyright (c) 1999-2015, International Business Machines Corporation and
5## others. All Rights Reserved.
6## Madhu Katragadda
7
8## Source directory information
9srcdir = @srcdir@
10top_srcdir = @top_srcdir@
11
12top_builddir = ../..
13
14include $(top_builddir)/icudefs.mk
15
16## Build directory information
17subdir = tools/icuinfo
18
19## Extra files to remove for 'make clean'
20CLEANFILES = *~ $(DEPS) $(PLUGIN_OBJECTS) $(PLUGINFILE) $(PLUGIN)
21
22## Target information
23TARGET = icuinfo$(EXEEXT)
24
25CPPFLAGS += -I$(top_srcdir)/common -I$(srcdir)/../toolutil -I$(top_srcdir)/tools/ctestfw
26CPPFLAGS+= -I$(top_srcdir)/i18n
27LIBS = $(LIBICUTOOLUTIL) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
28
29SOURCES = $(shell cat $(srcdir)/sources.txt)
30OBJECTS = $(SOURCES:.cpp=.o)
31@PLUGINS_TRUE@PLUGIN_SOURCES = $(shell cat $(srcdir)/plugin_sources.txt)
32@PLUGINS_TRUE@PLUGIN_OBJECTS = $(@PLUGINS_TRUE@PLUGIN_SOURCES:.c=.o)
33
34DEPS = $(OBJECTS:.o=.d)
35
36# pass some information
37
38ICUINFO_OPTS=-i ../../data/out/build/$(ICUDATA_PLATFORM_NAME) -x $(top_builddir)/config/icuinfo.xml -v -K
39
40## List of phony targets
41.PHONY : all all-local install install-local clean clean-local		\
42distclean distclean-local dist dist-local check check-local plugin-check
43
44## Clear suffix list
45.SUFFIXES :
46
47## List of standard targets
48all: all-local
49install: install-local
50clean: clean-local
51distclean : distclean-local
52dist: dist-local
53check: all check-local
54
55all-local: $(TARGET)
56
57install-local: all-local
58	$(MKINSTALLDIRS) $(DESTDIR)$(bindir)
59	$(INSTALL) $(TARGET) $(DESTDIR)$(bindir)
60
61dist-local:
62
63clean-local:
64	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
65	$(RMV) $(TARGET) $(OBJECTS)
66
67distclean-local: clean-local
68	$(RMV) Makefile
69
70check-local: $(TARGET)
71	$(INVOKE) ./$(TARGET) $(ICUINFO_OPTS)
72
73Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
74	cd $(top_builddir) \
75	 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
76-include Makefile.local
77
78$(TARGET) : $(OBJECTS)
79	$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
80	$(POST_BUILD_STEP)
81
82PLUGIN=$(LIBPREFIX)plugin.$(SO)
83SO_TARGET=$(PLUGIN)
84
85PLUGINDIR=$(shell pwd)
86
87PLUGINFILE=$(PLUGINDIR)/icuplugins$(SO_TARGET_VERSION_MAJOR).txt
88
89CFLAGS+=$(SHAREDLIBCFLAGS)
90
91@PLUGINS_TRUE@HAVE_PLUGINS=yes
92
93ifeq ($(HAVE_PLUGINS),yes)
94$(PLUGINFILE): Makefile
95	echo "$(CURR_FULL_DIR)/$(PLUGIN)	myPlugin	x=4" > $@
96
97
98$(PLUGIN): $(PLUGIN_OBJECTS)
99	$(SHLIB.cc) $(SHAREDLIBCFLAGS) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS)
100
101plugin: $(PLUGIN)
102
103plugin-check: $(PLUGIN) $(PLUGINFILE)
104	$(INVOKE) ICU_PLUGINS="$(CURR_FULL_DIR)" ./$(TARGET) -v -L
105else
106plugin plugin-check $(PLUGIN):
107	@echo "Plugins are disabled (use --enable-plugins to enable)"
108endif
109
110ifeq (,$(MAKECMDGOALS))
111-include $(DEPS)
112else
113ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
114-include $(DEPS)
115endif
116endif
117
118