]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - Makefile.in
Allow to specify build dir via make O=<dir>.
[paraslash.git] / Makefile.in
index 47c52ff5ef625d45907d030eed82df635a9a3715..39c938caca3829af440901e52d40183bd104c80e 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)
@@ -134,16 +139,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,7 +290,7 @@ 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'