para_play, infrastructure.
[paraslash.git] / Makefile.in
index 18fee5bb3a2431a152766579e1206e788d30d09c..4d1c23239b5787d5ff9d55ed8837d830bab02dda 100644 (file)
@@ -31,6 +31,7 @@ else
 endif
 ggo_dir := $(build_dir)/ggo
 object_dir := $(build_dir)/objects
+dep_dir := $(build_dir)/deps
 man_dir := $(build_dir)/man/man1
 cmdline_dir := $(build_dir)/cmdline
 
@@ -89,18 +90,10 @@ tarball := @PACKAGE_TARNAME@-$(PACKAGE_VERSION).tar.bz2
 
 # To put more focus on warnings, be less verbose as default
 # Use 'make V=1' to see the full commands
-ifdef V
-       ifeq ("$(origin V)", "command line")
-               BUILD_VERBOSE = $(V)
-       endif
-endif
-ifndef BUILD_VERBOSE
-       BUILD_VERBOSE = 0
-endif
-ifeq ($(BUILD_VERBOSE),0)
-       Q = @
+ifeq ("$(origin V)", "command line")
+       Q :=
 else
-       Q =
+       Q := @
 endif
 
 .PHONY: dep all clean distclean maintainer-clean install man tarball
@@ -109,7 +102,7 @@ dep: $(deps)
 man: $(man_pages)
 tarball: $(tarball)
 
-$(object_dir) $(man_dir) $(ggo_dir) $(cmdline_dir):
+$(object_dir) $(man_dir) $(ggo_dir) $(cmdline_dir) $(dep_dir):
        $(Q) $(MKDIR_P) $@
 
 -include $(m4_ggo_dir)/makefile
@@ -148,6 +141,10 @@ $(man_dir)/para_audiod.1: para_audiod audiod_command_list.man | $(man_dir)
        @[ -z "$(Q)" ] || echo 'MAN $<'
        $(Q) $(HELP2MAN) -h --detailed-help -N -i audiod_command_list.man ./para_audiod > $@
 
+$(man_dir)/para_play.1: para_play play_command_list.man | $(man_dir)
+       @[ -z "$(Q)" ] || echo 'MAN $<'
+       $(Q) $(HELP2MAN) -h --detailed-help -N -i play_command_list.man ./para_play > $@
+
 $(man_dir)/%.1: % | $(man_dir)
        @[ -z "$(Q)" ] || echo 'MAN $<'
        $(Q) $(HELP2MAN) -h --detailed-help -N ./$< > $@
@@ -214,14 +211,20 @@ $(object_dir)/%.o: %.c | $(object_dir)
        @[ -z "$(Q)" ] || echo 'CC $<'
        $(Q) $(CC) -c -o $@ $(CPPFLAGS) $(DEBUG_CPPFLAGS) $<
 
-$(object_dir)/%.cmdline.d: $(cmdline_dir)/%.cmdline.c | $(object_dir)
+$(dep_dir)/%.cmdline.d: $(cmdline_dir)/%.cmdline.c | $(dep_dir)
        @[ -z "$(Q)" ] || echo 'DEP $<'
-       $(Q) ./depend.sh $(object_dir) $(cmdline_dir) $(CPPFLAGS) $< > $@
+       $(Q) ./depend.sh $(dep_dir) $(object_dir) $(cmdline_dir) \
+               $(CPPFLAGS) $< > $@
 
-$(object_dir)/%.d: %.c | $(object_dir)
+$(dep_dir)/%.d: %.c | $(dep_dir)
        @[ -z "$(Q)" ] || echo 'DEP $<'
-       $(Q) ./depend.sh $(object_dir) $(cmdline_dir) $(CPPFLAGS) $< > $@
+       $(Q) ./depend.sh $(dep_dir) $(object_dir) $(cmdline_dir) \
+               $(CPPFLAGS) $< > $@
 
+all_objs := @recv_objs@ @filter_objs@ @client_objs@ @gui_objs@ \
+       @audiod_objs@ @audioc_objs@ @fade_objs@ @server_objs@ \
+       @write_objs@ @afh_objs@ @play_objs@
+deps := $(addprefix $(dep_dir)/, $(all_objs:.o=.d))
 
 recv_objs := $(addprefix $(object_dir)/, @recv_objs@)
 filter_objs := $(addprefix $(object_dir)/, @filter_objs@)
@@ -233,12 +236,7 @@ fade_objs := $(addprefix $(object_dir)/, @fade_objs@)
 server_objs := $(addprefix $(object_dir)/, @server_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)
-
-deps := $(all_objs:.o=.d)
+play_objs := $(addprefix $(object_dir)/, @play_objs@)
 
 ifeq ($(findstring clean, $(MAKECMDGOALS)),)
 -include $(deps)
@@ -284,14 +282,19 @@ para_afh: $(afh_objs)
        @[ -z "$(Q)" ] || echo 'LD $@'
        $(Q) $(CC) $(LDFLAGS) -o $@ $(afh_objs) @afh_ldflags@
 
+para_play: $(play_objs)
+       @[ -z "$(Q)" ] || echo 'LD $@'
+       $(Q) $(CC) $(LDFLAGS) -o $@ $(play_objs) @play_ldflags@
+
 clean:
        @[ -z "$(Q)" ] || echo 'CLEAN'
-       $(Q) rm -f @executables@ $(object_dir)/*.o
+       $(Q) rm -f @executables@
+       $(Q) rm -rf $(object_dir)
 
 clean2: clean
        @[ -z "$(Q)" ] || echo 'CLEAN2'
-       $(Q) rm -rf $(man_dir) $(object_dir) $(cmdline_dir) $(ggo_dir)
        $(Q) rm -f *_command_list.* *_completion.h
+       $(Q) rm -rf $(build_dir)
 distclean: clean2 test-clean
        @[ -z "$(Q)" ] || echo 'DISTCLEAN'
        $(Q) rm -f Makefile autoscan.log config.status config.log