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