]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - Makefile.in
Makefile: Simplify option parsing for verbose build.
[paraslash.git] / Makefile.in
index 47c52ff5ef625d45907d030eed82df635a9a3715..b865e4e8741c935d8397472cd0dca38fafb77f72 100644 (file)
@@ -23,11 +23,16 @@ codename := volatile relativity
 GIT_VERSION := $(shell ./GIT-VERSION-GEN git-version.h)
 
 m4_ggo_dir := m4/gengetopt
-ggo_dir := ggo
-object_dir := objects
-man_dir := man/man1
 test_dir := t
-cmdline_dir := cmdline
+ifeq ("$(origin O)", "command line")
+       build_dir := $(O)
+else
+       build_dir := build
+endif
+ggo_dir := $(build_dir)/ggo
+object_dir := $(build_dir)/objects
+man_dir := $(build_dir)/man/man1
+cmdline_dir := $(build_dir)/cmdline
 
 DEBUG_CPPFLAGS += -g -Wunused -Wundef -W
 DEBUG_CPPFLAGS += -Wredundant-decls
@@ -73,7 +78,7 @@ CPPFLAGS += -I/usr/local/include
 CPPFLAGS += -I$(cmdline_dir)
 CPPFLAGS += @osl_cppflags@
 
-man_pages := $(patsubst %, man/man1/%.1, @executables@)
+man_pages := $(patsubst %, $(man_dir)/%.1, @executables@)
 
 autocrap := config.h.in configure
 tarball_pfx := @PACKAGE_TARNAME@-$(PACKAGE_VERSION)
@@ -84,18 +89,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
@@ -134,16 +131,16 @@ afs_command_list.h afs_command_list.man afs_completion.h: afs.c aft.c attribute.
 audiod_command_list.h audiod_command_list.man audiod_completion.h: audiod_command.c
 
 server_command_lists_man = server_command_list.man afs_command_list.man
-man/man1/para_server.1: para_server $(server_command_lists_man) | $(man_dir)
+$(man_dir)/para_server.1: para_server $(server_command_lists_man) | $(man_dir)
        @[ -z "$(Q)" ] || echo 'MAN $<'
        $(Q) opts="-h --detailed-help -N `for i in $(server_command_lists_man); do printf "%s\n" "-i $$i"; done`"; \
        $(HELP2MAN) $$opts ./para_server > $@
 
-man/man1/para_audiod.1: para_audiod audiod_command_list.man | $(man_dir)
+$(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/man1/%.1: % | $(man_dir)
+$(man_dir)/%.1: % | $(man_dir)
        @[ -z "$(Q)" ] || echo 'MAN $<'
        $(Q) $(HELP2MAN) -h --detailed-help -N ./$< > $@
 
@@ -285,12 +282,12 @@ clean:
 
 clean2: clean
        @[ -z "$(Q)" ] || echo 'CLEAN2'
-       $(Q) rm -rf man $(object_dir) $(cmdline_dir) $(ggo_dir)
+       $(Q) rm -rf $(man_dir) $(object_dir) $(cmdline_dir) $(ggo_dir)
        $(Q) rm -f *_command_list.* *_completion.h
 distclean: clean2 test-clean
        @[ -z "$(Q)" ] || echo 'DISTCLEAN'
        $(Q) rm -f Makefile autoscan.log config.status config.log
-       $(Q) rm -rf autom4te.cache aclocal.m4
+       $(Q) rm -rf autom4te.cache
        $(Q) rm -f GPATH GRTAGS GSYMS GTAGS
 
 maintainer-clean: distclean