put a general prefix finder in eina.
[profile/ivi/eina.git] / src / lib / Makefile.am
1 MAINTAINERCLEANFILES = Makefile.in
2
3 AM_CPPFLAGS = \
4 -I$(top_srcdir)/src/include \
5 -I$(top_builddir)/src/include \
6 -DPACKAGE_BIN_DIR=\"$(bindir)\" \
7 -DPACKAGE_LIB_DIR=\"$(libdir)\" \
8 -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
9 @EINA_CPPFLAGS@ \
10 @EFL_EINA_BUILD@
11
12 base_sources = \
13 eina_accessor.c \
14 eina_array.c \
15 eina_benchmark.c \
16 eina_binshare.c \
17 eina_convert.c \
18 eina_counter.c \
19 eina_cpu.c \
20 eina_error.c \
21 eina_fp.c \
22 eina_hamster.c \
23 eina_hash.c \
24 eina_inlist.c \
25 eina_iterator.c \
26 eina_lalloc.c \
27 eina_list.c \
28 eina_log.c \
29 eina_magic.c \
30 eina_main.c \
31 eina_matrixsparse.c \
32 eina_mempool.c \
33 eina_module.c \
34 eina_quadtree.c \
35 eina_rbtree.c \
36 eina_rectangle.c \
37 eina_safety_checks.c \
38 eina_sched.c \
39 eina_share_common.c \
40 eina_str.c \
41 eina_strbuf.c \
42 eina_strbuf_common.c \
43 eina_stringshare.c \
44 eina_tiler.c \
45 eina_unicode.c \
46 eina_ustrbuf.c \
47 eina_ustringshare.c \
48 eina_value.c \
49 eina_simple_xml_parser.c \
50 eina_object.c \
51 eina_prefix.c
52
53 if EINA_HAVE_WIN32
54 base_sources += eina_file_win32.c
55 else
56 base_sources += eina_file.c
57 endif
58
59 EXTRA_DIST = \
60 eina_share_common.h \
61 eina_private.h \
62 eina_strbuf_common.h \
63 eina_strbuf_template_c.x
64
65
66
67 if EINA_STATIC_BUILD_CHAINED_POOL
68 base_sources += $(top_srcdir)/src/modules/mp/chained_pool/eina_chained_mempool.c
69 endif
70
71 if EINA_STATIC_BUILD_ONE_BIG
72 base_sources += $(top_srcdir)/src/modules/mp/one_big/eina_one_big.c
73 endif
74
75 if EINA_STATIC_BUILD_EMEMOA_FIXED
76 base_sources += $(top_srcdir)/src/modules/mp/ememoa_fixed/eina_ememoa_fixed.c
77 endif
78
79 if EINA_STATIC_BUILD_EMEMOA_UNKNOWN
80 base_sources += $(top_srcdir)/src/modules/mp/ememoa_unknown/eina_ememoa_unknown.c
81 endif
82
83 if EINA_STATIC_BUILD_FIXED_BITMAP
84 base_sources += $(top_srcdir)/src/modules/mp/fixed_bitmap/eina_fixed_bitmap.c
85 endif
86
87 if EINA_STATIC_BUILD_PASS_THROUGH
88 base_sources += $(top_srcdir)/src/modules/mp/pass_through/eina_pass_through.c
89 endif
90
91 lib_LTLIBRARIES = libeina.la
92
93 if EINA_AMALGAMATION
94 nodist_libeina_la_SOURCES = eina_amalgamation.c
95
96 eina_amalgamation.c: $(base_sources) Makefile
97         -rm -f eina_amalgamation.c
98
99         @echo "#ifdef HAVE_CONFIG_H" >> eina_amalgamation.c
100         @echo "#include \"config.h\"" >> eina_amalgamation.c
101         @echo "#endif" >> eina_amalgamation.c
102
103         @echo "#ifdef HAVE_ALLOCA_H" >> eina_amalgamation.c
104         @echo "# include <alloca.h>" >> eina_amalgamation.c
105         @echo "#elif defined __GNUC__" >> eina_amalgamation.c
106         @echo "# define alloca __builtin_alloca" >> eina_amalgamation.c
107         @echo "#elif defined _AIX" >> eina_amalgamation.c
108         @echo "# define alloca __alloca" >> eina_amalgamation.c
109         @echo "#elif defined _MSC_VER" >> eina_amalgamation.c
110         @echo "# include <malloc.h>" >> eina_amalgamation.c
111         @echo "# define alloca _alloca" >> eina_amalgamation.c
112         @echo "#else" >> eina_amalgamation.c
113         @echo "# include <stddef.h>" >> eina_amalgamation.c
114         @echo "# ifdef __cplusplus" >> eina_amalgamation.c
115         @echo "#extern \"C\"" >> eina_amalgamation.c
116         @echo "# endif" >> eina_amalgamation.c
117         @echo "#void *alloca (size_t);" >> eina_amalgamation.c
118         @echo "#endif" >> eina_amalgamation.c
119
120         @echo "#include <stdio.h>" >> eina_amalgamation.c
121         @echo "#include <stdlib.h>" >> eina_amalgamation.c
122         @echo "#include <string.h>" >> eina_amalgamation.c
123         @echo "#include <dlfcn.h>" >> eina_amalgamation.c
124         @echo "#include <sys/types.h>" >> eina_amalgamation.c
125         @echo "#include <dirent.h>" >> eina_amalgamation.c
126         @echo "#include <assert.h>" >> eina_amalgamation.c
127         @echo "#include <errno.h>" >> eina_amalgamation.c
128         @echo "#include <fnmatch.h>" >> eina_amalgamation.c
129
130         @echo "#ifdef HAVE_EVIL" >> eina_amalgamation.c
131         @echo "# include <Evil.h>" >> eina_amalgamation.c
132         @echo "#endif" >> eina_amalgamation.c
133
134         @echo "#include \"eina_config.h\"" >> eina_amalgamation.c
135         @echo "#include \"eina_private.h\"" >> eina_amalgamation.c
136         @echo "#include \"eina_safety_checks.h\"" >> eina_amalgamation.c
137         @echo "#include \"Eina.h\"" >> eina_amalgamation.c
138         @echo "#include \"eina_strbuf_common.h\"" >> eina_amalgamation.c
139         @echo "#include \"eina_share_common.h\"" >> eina_amalgamation.c
140
141         @for f in $(base_sources); do \
142            if [ `echo $$f | sed -e 's/^...\(.\).*/\1/'` != '/' ]; then \
143                   file="$(srcdir)/$$f" ; \
144            else \
145                   file="$$f" ; \
146            fi ; \
147            echo "/* file: $$file */" >> eina_amalgamation.c; \
148            grep -v -e '^# *include \+.\(config\|eina_[a-z_]\+\|Evil\|stdio\|stdlib\|string\|dlfcn\|dirent\|assert\|errno\|fnmatch\)[.]h.*' $$file >> eina_amalgamation.c; \
149         done
150         @echo "eina_amalgamation.c generated"
151
152 else
153 libeina_la_SOURCES = $(base_sources)
154 endif
155
156 libeina_la_LIBADD = @EINA_LIBS@ @dlopen_libs@
157 libeina_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ @EFL_PTHREAD_LIBS@
158 libeina_la_CFLAGS = @EINA_CFLAGS@ @EFL_PTHREAD_CFLAGS@
159
160 clean-local:
161         rm -rf *.gcno eina_amalgamation.c