# $Id: Makefile.am,v 1.25 2008/08/25 21:23:48 rocky Exp $ # # Copyright (C) 2006, 2007, 2008 Rocky Bernstein # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . ## Process this file with automake to produce Makefile.in ## which configure then turns into a Makefile ... ## which make can then use to produce stuff. Isn't configuration simple? SWIG = @SWIG@ SWIG_FLAGS = @SWIG_FLAGS@ SO = @SO@ CDIO_EXTCONF = $(top_builddir)/ext/cdio/extconf.rb ISO_EXTCONF = $(top_builddir)/ext/iso9660/extconf.rb # Note rubydio.swg has to come first. CDIO_SRC = $(top_srcdir)/swig/rubycdio.swg \ $(top_srcdir)/swig/Makefile \ $(top_srcdir)/swig/audio.swg \ $(top_srcdir)/swig/compat.swg \ $(top_srcdir)/swig/device.swg \ $(top_srcdir)/swig/device_const.swg \ $(top_srcdir)/swig/disc.swg \ $(top_srcdir)/swig/read.swg \ $(top_srcdir)/swig/types.swg ISO_SRC = $(top_srcdir)/swig/rubyiso9660.swg \ $(top_srcdir)/swig/compat.swg \ $(top_srcdir)/swig/types.swg TEST_FILES = \ test/Makefile \ test/Rakefile \ test/cdda.bin \ test/cdda.cue \ test/cdda.cue \ test/cdda.toc \ test/cdiotest.rb \ test/isocopy.rb \ test/isotest.rb DATA_FILES = data/copying.iso data/isofs-m1.cue data/isofs-m1.bin EXAMPLE_FILES = \ example/README \ example/audio.rb \ example/cdchange.rb \ example/device.rb \ example/drives.rb \ example/eject.rb \ example/iso1.rb \ example/iso2.rb \ example/iso3.rb \ example/tracks.rb CDIO_C = $(top_builddir)/ext/cdio/rubycdio_wrap.c CDIO_OBJ = $(top_builddir)/ext/cdio/rubycdio_wrap.o ISO_C = $(top_builddir)/ext/iso9660/rubyiso9660_wrap.c ISO_OBJ = $(top_builddir)/ext/iso9660/rubyiso9660_wrap.o RUBY = @RUBY@ RUBYCDIO = ext/cdio/rubycdio$(SO) RUBYISO9660 = ext/iso9660/rubyiso9660$(SO) EXTRA_DIST = $(CDIO_SRC) $(CDIO_C) $(ISO_SRC) $(ISO_C) $(CDIO_EXTCONF) \ $(EXAMPLE_FILES) $(DATA_FILES) $(TEST_FILES) rubycdio.m4 \ $(ISO_EXTCONF) lib/Makefile lib/cdio.rb lib/iso9660.rb \ THANKS VERSION.in VERSION .PHONY: test check ChangeLog doc rdoc, doc, rerdoc all-am: $(RUBYCDIO) $(RUBYISO9660) doc: rdoc rdoc: rake rdoc rerdoc: rake rdoc ## I just can't take all the crap associated with libtool any more. ## Testing for C++, Fortran, compile and link options to those, ## existence of C headers that aren't used, and that's just in the ## configuration section. $(CDIO_C): $(CDIO_SRC) $(SWIG) -o $(CDIO_C) -outdir $(top_builddir) -ruby $(SWIG_FLAGS) $< $(RUBYCDIO): $(CDIO_C) $(CDIO_EXTCONF) (cd ext/cdio && $(RUBY) -r mkmf extconf.rb && $(MAKE)) $(RUBYISO9660): $(ISO_C) $(ISO_EXTCONF) (cd ext/iso9660 && $(RUBY) -r mkmf extconf.rb && $(MAKE)) $(ISO_C): $(ISO_SRC) $(SWIG) -o $(ISO_C) -outdir $(top_builddir) -ruby $(SWIG_FLAGS) $< check: test test: test/cdiotest.rb test/isotest.rb $(RUBYCDIO) $(RUBYISO9660) rake test clean-generic: -rm $(CDIO_C) $(ISO_C) $(CDIO_OBJ) $(ISO_OBJ) \ ext/cdio/rubycdio$(SO) ext/iso9660/rubyiso9660$(SO) -rm -fr pkg install: all-am rake package gem install --local pkg/$(distdir).gem # From libtool documentation amended with guidance from N. Boullis: # # 1. Start with version information of `0:0:0' for each libtool library. # # 2. It is probably not a good idea to update the version information # several times between public releases, but rather once per public # release. (This seems to be more an aesthetic consideration than # a hard technical one.) # # 3. If the library source code has changed at all since the last # update, then increment REVISION (`C:R:A' becomes `C:R+1:A'). # # 4. If any interfaces have been added, removed, or changed since the # last update, increment CURRENT, and set REVISION to 0. # # 5. If any interfaces have been added since the last public release, # then increment AGE. # # 6. If any interfaces have been removed or changed since the last # public release, then set AGE to 0. A changed interface means an # incompatibility with previous versions. ## rubycdio_la_CURRENT := 0 ## rubycdio_la_REVISION := 0 ## rubycdio_la_AGE := 0 ## rubydio_libnum := $(rbcdio_la_CURRENT):$(rbcdio_la_REVISION):$(rbcdio_la_AGE) ##install-exec-hook: ## $(LN_S) ${prefix}/ext/librbcdio$(SO).$(rbcdio_libnum) ${prefix}/ext/rbcdio$(SO) # cvs2cl MAINTAINERCLEANFILES = ChangeLog if MAINTAINER_MODE ChangeLog: $(CVS2CL) -W 450 --header $(srcdir)/cvs2cl_header --utc -w -I ChangeLog --usermap $(srcdir)/cvs2cl_usermap -P ACLOCAL_AMFLAGS=-I . endif