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