1
2# Copyright (c) 2007 Vreixo Formoso
3# Copyright (c) 2009 - 2019 Thomas Schmitt
4# Provided under the terms of the GNU General Public License version 2 or later.
5
6# ts A90315 : LIBBURNIA_PKGCONFDIR is defined OS specific in acinclude.m4
7# was: pkgconfigdir=$(libdir)/pkgconfig
8pkgconfigdir=$(LIBBURNIA_PKGCONFDIR)
9
10libincludedir=$(includedir)/libisofs
11
12lib_LTLIBRARIES = libisofs/libisofs.la
13ACLOCAL_AMFLAGS = -I ./
14
15# Enable this if the source includes generated files like version.h
16# AM_CPPFLAGS = -I $(top_builddir)/libisofs
17
18## ========================================================================= ##
19
20# Build libraries
21
22libisofs_libisofs_la_LDFLAGS = \
23	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) $(LIBLDFLAGS)
24
25# Eventually enabling system adapters for ACL and EA.
26# ts A90409: Eventually enabling use of zlib.
27# ts B00927: Eventually enabling use of libjte (Jigdo Template Extraction)
28libisofs_libisofs_la_CFLAGS = $(LIBACL_DEF) $(XATTR_DEF) $(ZLIB_DEF) \
29                              $(LIBJTE_DEF)
30
31# ts A90114 : added aaip_0_2.*
32
33libisofs_libisofs_la_SOURCES = \
34	libisofs/builder.h \
35	libisofs/builder.c \
36	libisofs/node.h \
37	libisofs/node.c \
38	libisofs/tree.h \
39	libisofs/tree.c \
40	libisofs/find.c \
41	libisofs/image.h \
42	libisofs/image.c \
43	libisofs/fsource.h \
44	libisofs/fsource.c \
45	libisofs/fs_local.c \
46	libisofs/fs_image.c \
47	libisofs/messages.h \
48	libisofs/messages.c \
49	libisofs/libiso_msgs.h \
50	libisofs/libiso_msgs.c \
51	libisofs/stream.h \
52	libisofs/stream.c \
53	libisofs/filter.h \
54	libisofs/filter.c \
55	libisofs/filters/external.c \
56	libisofs/filters/zisofs.c \
57	libisofs/filters/gzip.c \
58	libisofs/util.h \
59	libisofs/util.c \
60	libisofs/util_rbtree.c \
61	libisofs/util_htable.c \
62	libisofs/filesrc.h \
63	libisofs/filesrc.c \
64	libisofs/ecma119.h \
65	libisofs/ecma119.c \
66	libisofs/ecma119_tree.h \
67	libisofs/ecma119_tree.c \
68	libisofs/writer.h \
69	libisofs/buffer.h \
70	libisofs/buffer.c \
71	libisofs/rockridge.h \
72	libisofs/rockridge.c \
73	libisofs/rockridge_read.c \
74	libisofs/joliet.h \
75	libisofs/joliet.c \
76	libisofs/hfsplus.h \
77	libisofs/hfsplus.c \
78	libisofs/hfsplus_decompose.c \
79	libisofs/hfsplus_classes.c \
80	libisofs/hfsplus_case.c \
81	libisofs/eltorito.h \
82	libisofs/eltorito.c \
83	libisofs/system_area.h \
84	libisofs/system_area.c \
85	libisofs/make_isohybrid_mbr.c \
86	libisofs/iso1999.h \
87	libisofs/iso1999.c \
88	libisofs/data_source.c \
89	libisofs/aaip_0_2.h \
90	libisofs/aaip_0_2.c \
91	libisofs/md5.h \
92	libisofs/md5.c
93libisofs_libisofs_la_LIBADD= \
94	$(THREAD_LIBS)
95libinclude_HEADERS = \
96	libisofs/libisofs.h
97
98install-exec-hook:
99	$(LIBBURNIA_LDCONFIG_CMD) "$(DESTDIR)$(libdir)" || echo 'NOTE: Explicit dynamic library configuration failed. If needed, configure manually for:' "$(DESTDIR)$(libdir)"
100
101## ========================================================================= ##
102
103## Build demo applications
104noinst_PROGRAMS = \
105	demo/demo
106
107#	demo/tree \
108#	demo/find \
109#	demo/iso \
110#	demo/isoread \
111#	demo/isocat \
112#	demo/isomodify \
113#	demo/isoms
114
115#	demo/ecma119tree \
116#	demo/lsl \
117#	demo/cat \
118#	demo/catbuffer \
119#	demo/isogrow
120
121
122# ts A90807
123# Consolidated demo code for having less linker messages with a make run.
124demo_demo_CPPFLAGS = -I $(top_srcdir)/libisofs
125demo_demo_LDADD = $(libisofs_libisofs_la_OBJECTS) $(libisofs_libisofs_la_LIBADD)
126demo_demo_SOURCES = demo/demo.c
127
128# ts A90806
129# This includes fsource.h and thus is no API demo
130# demo_lsl_CPPFLAGS = -Ilibisofs
131# demo_lsl_LDADD = $(libisofs_libisofs_la_OBJECTS) $(libisofs_libisofs_la_LIBADD)
132# demo_lsl_SOURCES = demo/lsl.c
133
134# ts A90806
135# This includes fsource.h and thus is no API demo
136# demo_cat_CPPFLAGS = -Ilibisofs
137# demo_cat_LDADD = $(libisofs_libisofs_la_OBJECTS) $(libisofs_libisofs_la_LIBADD)
138# demo_cat_SOURCES = demo/cat.c
139
140# ts A90806
141# This inlcudes buffer.h and thus is no API demo
142# demo_catbuffer_CPPFLAGS = -Ilibisofs
143# demo_catbuffer_LDADD = $(libisofs_libisofs_la_OBJECTS) \
144# 	$(libisofs_libisofs_la_LIBADD)
145# demo_catbuffer_SOURCES = demo/cat_buffer.c
146
147# ts A90807
148# Consolidated in demo/demo
149# demo_tree_CPPFLAGS = -Ilibisofs
150# demo_tree_LDADD = $(libisofs_libisofs_la_OBJECTS) \
151# 	$(libisofs_libisofs_la_LIBADD)
152# demo_tree_SOURCES = demo/tree.c
153
154# ts A90807
155# Consolidated in demo/demo
156# demo_find_CPPFLAGS = -Ilibisofs
157# demo_find_LDADD = $(libisofs_libisofs_la_OBJECTS) \
158# 	$(libisofs_libisofs_la_LIBADD)
159# demo_find_SOURCES = demo/find.c
160
161# ts A90806
162# This inlcudes lots of internal .h files and thus is no API demo
163# demo_ecma119tree_CPPFLAGS = -Ilibisofs
164# demo_ecma119tree_LDADD = $(libisofs_libisofs_la_OBJECTS) \
165# 	$(libisofs_libisofs_la_LIBADD)
166# demo_ecma119tree_SOURCES = demo/ecma119_tree.c
167
168# ts A90807
169# Consolidated in demo/demo
170# demo_iso_CPPFLAGS = -Ilibisofs
171# demo_iso_LDADD = $(libisofs_libisofs_la_OBJECTS) $(libisofs_libisofs_la_LIBADD)
172# demo_iso_SOURCES = demo/iso.c
173
174# ts A90807
175# Consolidated in demo/demo
176# demo_isoread_CPPFLAGS = -Ilibisofs
177# demo_isoread_LDADD = $(libisofs_libisofs_la_OBJECTS) \
178# 	$(libisofs_libisofs_la_LIBADD)
179# demo_isoread_SOURCES = demo/iso_read.c
180
181# ts A90807
182# Consolidated in demo/demo
183# demo_isocat_CPPFLAGS = -Ilibisofs
184# demo_isocat_LDADD = $(libisofs_libisofs_la_OBJECTS) \
185# 	$(libisofs_libisofs_la_LIBADD)
186# demo_isocat_SOURCES = demo/iso_cat.c
187
188# ts A90807
189# Consolidated in demo/demo
190# demo_isomodify_CPPFLAGS = -Ilibisofs
191# demo_isomodify_LDADD = $(libisofs_libisofs_la_OBJECTS) \
192# 	$(libisofs_libisofs_la_LIBADD)
193# demo_isomodify_SOURCES = demo/iso_modify.c
194
195# ts A90807
196# Consolidated in demo/demo
197# demo_isoms_CPPFLAGS = -Ilibisofs
198# demo_isoms_LDADD = $(libisofs_libisofs_la_OBJECTS) \
199# 	$(libisofs_libisofs_la_LIBADD)
200# demo_isoms_SOURCES = demo/iso_ms.c
201
202# demo_isogrow_CPPFLAGS = -Ilibisofs -Ilibburn
203# demo_isogrow_LDADD = $(libisofs_libisofs_la_OBJECTS) \
204# 	$(libisofs_libisofs_la_LIBADD) \
205# 	-lburn
206# demo_isogrow_SOURCES = demo/iso_grow.c
207
208
209## ts A90428 , ticket 147, The test code does not use the API and is totally
210##                         outdated in its creation of mocked objects.
211##                         A volunteer is needed to rewrite it using the API.
212
213# ## Build unit test
214
215# check_PROGRAMS = \
216# 	test/test
217#
218# test_test_CPPFLAGS = -Ilibisofs
219# test_test_LDADD = $(libisofs_libisofs_la_OBJECTS) \
220# 	$(libisofs_libisofs_la_LIBADD) -lcunit
221# test_test_LDFLAGS = -L.. -lm
222#
223# test_test_SOURCES = \
224# 	test/test.h \
225# 	test/test.c \
226# 	test/test_node.c \
227# 	test/test_image.c \
228# 	test/test_tree.c \
229# 	test/test_util.c \
230# 	test/test_rockridge.c \
231# 	test/test_stream.c \
232# 	test/mocked_fsrc.h \
233# 	test/mocked_fsrc.c
234
235# "make clean" shall remove a few stubborn .libs directories
236# which George Danchev reported Dec 03 2011.
237# Learned from: http://www.gnu.org/software/automake/manual/automake.html#Clean
238clean-local:
239	-rm -rf demo/.libs
240
241## ========================================================================= ##
242
243## Build documentation (You need Doxygen for this to work)
244
245docdir = $(DESTDIR)$(prefix)/share/doc/$(PACKAGE)-$(VERSION)
246
247doc:	doc/html
248
249doc/html: doc/doxygen.conf
250	$(RM) -r doc/html; \
251	doxygen doc/doxygen.conf;
252
253install-data-local:
254	if [ -d doc/html ]; then \
255		$(mkinstalldirs) $(docdir)/html; \
256		$(INSTALL_DATA) doc/html/* $(docdir)/html; \
257	fi
258
259uninstall-local:
260	rm -rf $(docdir)
261
262## ========================================================================= ##
263
264# Extra things
265nodist_pkgconfig_DATA = \
266	libisofs-1.pc
267
268# ts A80114 : added aaip-os*
269
270EXTRA_DIST = \
271	bootstrap \
272	libisofs-1.pc.in \
273	version.h.in \
274	doc/doxygen.conf.in \
275	doc/Tutorial \
276	README \
277	AUTHORS \
278	COPYRIGHT \
279	COPYING \
280	NEWS \
281	INSTALL \
282	TODO \
283	ChangeLog \
284	Roadmap \
285	doc/susp_aaip_2_0.txt \
286	doc/susp_aaip_isofs_names.txt \
287	doc/zisofs_format.txt \
288	doc/zisofs2_format.txt \
289	doc/checksums.txt \
290	doc/boot_sectors.txt \
291	libisofs/libisofs.ver \
292	libisofs/aaip-os-dummy.c \
293	libisofs/aaip-os-linux.c \
294	libisofs/aaip-os-freebsd.c
295
296