-BINARIES = para_server para_client para_audioc para_recv \
- para_filter para_write para_fsck para_afh @extra_binaries@
-man_binaries := $(BINARIES)
-man_pages := $(patsubst %, man/man1/%.1, $(man_binaries))
-man_pages_in := $(patsubst %, web/%.man.in.html, $(man_binaries))
-gengetopts := $(wildcard *.ggo)
-gengetopts_c := $(gengetopts:.ggo=.cmdline.c)
-gengetopts_h := $(gengetopts:.ggo=.cmdline.h)
-autocrap := config.h.in configure
-tarball_pfx := @PACKAGE_TARNAME@-@PACKAGE_VERSION@
-tarball_delete = web versions pics .changelog_before_cvs .changelog_cvs .gitignore
-tarball_delete := $(patsubst %,$(tarball_pfx)/%,$(tarball_delete))
-tarball_add := $(gengetopts_c) $(gengetopts_h) $(autocrap)
-tarball := @PACKAGE_TARNAME@-@PACKAGE_VERSION@.tar.bz2
-
-.PHONY: clean distclean maintainer-clean install man tarball
-all: $(BINARIES) $(man_pages)
-man: $(man_pages)
-tarball: $(tarball)
-
-*.o: para.h config.h gcc-compat.h
-
-include Makefile.deps
-
-module_ggo_opts := --set-version="(@PACKAGE_STRING@, $(codename))"
-
-grab_client.cmdline.h grab_client.cmdline.c: grab_client.ggo
- gengetopt $(module_ggo_opts) \
- -S \
- --set-package=grab \
- --no-handle-help \
- --no-handle-error \
- --no-handle-version \
- --arg-struct-name=grab_client_args_info \
- --file-name=$(subst .ggo,,$<).cmdline \
- --func-name $(subst .ggo,,$<)_cmdline_parser < $<
-
-%_recv.cmdline.h %_recv.cmdline.c: %_recv.ggo
- gengetopt $(module_ggo_opts) \
- --set-package=$(subst .ggo,,$<) \
- --arg-struct-name=$(subst .ggo,,$<)_args_info \
- --file-name=$(subst .ggo,,$<).cmdline \
- --func-name $(subst .ggo,,$<)_cmdline_parser < $<
-
-%_filter.cmdline.h %_filter.cmdline.c: %_filter.ggo
- gengetopt $(module_ggo_opts) \
- --set-package=$(subst .ggo,,$<) \
- --arg-struct-name=$(subst .ggo,,$<)_args_info \
- --file-name=$(subst .ggo,,$<).cmdline \
- --func-name $(subst _filter.ggo,,$<)_cmdline_parser < $<
-%_write.cmdline.h %_write.cmdline.c: %_write.ggo
- gengetopt -S $(module_ggo_opts) \
- --set-package=$(subst .ggo,,$<) \
- --arg-struct-name=$(subst .ggo,,$<)_args_info \
- --file-name=$(subst .ggo,,$<).cmdline \
- --func-name $(subst _write.ggo,,$<)_cmdline_parser < $<
-
-%.cmdline.h %.cmdline.c: %.ggo
- case $< in client.ggo) O="--unamed-opts=command";; \
- audioc.ggo) O="--unamed-opts=command";; \
- fsck.ggo) O="--unamed-opts=table";; \
- afh.ggo) O="--unamed-opts=audio_file";; \
- recv.ggo) O="--no-handle-help";; \
- filter.ggo) O="--no-handle-help";; \
- write.ggo) O="--no-handle-help";; \
- esac; \
- if test $< != fsck.ggo; then O="$$O --conf-parser "; fi; \
- gengetopt $$O \
- --no-handle-version \
- --file-name=$(*F).cmdline \
- --func-name $(*F)_cmdline_parser \
- --arg-struct-name=$(*F)_args_info \
- --set-package="para_$(subst .cmdline,,$(*F))" \
- --set-version="@PACKAGE_VERSION@" < $<
-
-%_command_list.c %_command_list.h: %.cmd
- ./command_util.sh c < $< >$@
- ./command_util.sh h < $< >$(@:%.c=%.h)
-
-%_command_list.man: %.cmd
- ./command_util.sh man < $< > $@
-
-server_command_lists = server_command_list.man afs_command_list.man
-man/man1/para_server.1: para_server $(server_command_lists)
- mkdir -p man/man1
- opts="-h --detailed-help -N `for i in $(server_command_lists); do printf "%s\n" "-i $$i"; done`"; \
- help2man $$opts ./para_server > $@