CPPFLAGS += -I/usr/local/include
CPPFLAGS += -I$(cmdline_dir)
CPPFLAGS += @osl_cppflags@
+CPPFLAGS += -DGIT_VERSION='"$(GIT_VERSION)"'
BINARIES = para_server para_client para_audioc para_recv \
para_filter para_write para_afh @extra_binaries@
$(ggo_dir) skencil)
tarball := @PACKAGE_TARNAME@-$(PACKAGE_VERSION).tar.bz2
-.PHONY: all clean distclean maintainer-clean install man tarball
+.PHONY: all clean distclean maintainer-clean install man tarball\
+ .FORCE-GIT-VERSION-FILE
all: $(BINARIES) $(man_pages)
man: $(man_pages)
tarball: $(tarball)
-Makefile.deps: $(wildcard *.c *.h) $(cmdline_generated)
- gcc -MM -MG -I$(cmdline_dir) @faad_cppflags@ @mad_cppflags@ @oggvorbis_cppflags@ *.c > $@
--include Makefile.deps
+GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
+ @./GIT-VERSION-GEN GIT-VERSION-FILE
+-include GIT-VERSION-FILE
+$(BINARIES): GIT-VERSION-FILE
+
-include $(ggo_dir)/makefile
%_command_list.c: %.cmd
$(object_dir)/aac_afh.o: aac_afh.c | $(object_dir)
$(CC) -c -o $@ $(CPPFLAGS) $(DEBUG_CPPFLAGS) @faad_cppflags@ $<
-$(object_dir)/%.cmdline.o: $(cmdline_dir)/%.cmdline.c | $(object_dir)
+$(object_dir)/%.cmdline.o: $(cmdline_dir)/%.cmdline.c $(cmdline_dir)/%.cmdline.h | $(object_dir)
$(CC) -c $(CPPFLAGS) -o $@ $<
$(object_dir)/%.o: %.c | $(object_dir)
$(CC) -c -o $@ $(CPPFLAGS) $(DEBUG_CPPFLAGS) $<
+# We depend on the *.cmdline.[ch] files as these must be present for depend.sh
+# to work. The first dependency is explititly given as it is used by $<.
+$(object_dir)/%.cmdline.d: %.cmdline.c $(cmdline_generated) | $(object_dir)
+ ./depend.sh $(object_dir) $(CPPFLAGS) $< > $@
+$(object_dir)/%.d: %.c $(cmdline_generated) | $(object_dir)
+ ./depend.sh $(object_dir) $(CPPFLAGS) $< > $@
+
recv_objs := $(addprefix $(object_dir)/, @recv_objs@)
filter_objs := $(addprefix $(object_dir)/, @filter_objs@)
client_objs := $(addprefix $(object_dir)/, @client_objs@)
write_objs := $(addprefix $(object_dir)/, @write_objs@)
afh_objs := $(addprefix $(object_dir)/, @afh_objs@)
+all_objs := $(recv_objs) $(filter_objs) $(client_objs) $(gui_objs) \
+ $(audiod_objs ) $(audioc_objs) $(fade_objs) $(server_objs) \
+ $(write_objs) $(afh_objs)
+-include $(all_objs:.o=.d)
+
para_recv: $(recv_objs)
$(CC) $(LDFLAGS) $(recv_objs) -o $@ @recv_ldflags@
$(CC) $(LDFLAGS) -o $@ $(afh_objs) @afh_ldflags@
clean:
- rm -f $(BINARIES)
- rm -f *_command_list.*
+ rm -f $(BINARIES) $(object_dir)/*.o
+
+clean2: clean
rm -rf man $(object_dir)
-distclean: clean
+ rm -f *_command_list.*
+
+distclean: clean2
rm -f Makefile autoscan.log config.status config.log && \
- rm -rf cmdline autom4te.cache aclocal.m4
+ rm -rf autom4te.cache aclocal.m4
rm -f GPATH GRTAGS GSYMS GTAGS
maintainer-clean: distclean
rm -f $(ggo_generated) *.tar.bz2 \
config.h configure \
config.h.in skencil/*.pdf skencil/*.ps
- rm -rf web_sync
+ rm -rf web_sync $(cmdline_dir)
install: all man
mkdir -p $(BINDIR) $(MANDIR)
git archive --format=tar --prefix=$(tarball_pfx)/ HEAD \
| tar --delete $(tarball_delete) > $(tarball_pfx).tar
mkdir -p $(tarball_pfx)/$(cmdline_dir)
+ echo $(GIT_VERSION) > $(tarball_pfx)/VERSION
cp -r $(autocrap) $(tarball_pfx)
cp -r $(cmdline_generated) $(tarball_pfx)/$(cmdline_dir)
tar rf $(tarball_pfx).tar $(tarball_pfx)/*