316ef47b87bdd8be9802e7680106fe49d9439cb2
[paraslash.git] / m4 / gengetopt / makefile
1 module_ggo_opts := --set-version="($(PACKAGE_STRING), $(codename))"
2
3 $(cmdline_dir)/%_recv.cmdline.h $(cmdline_dir)/%_recv.cmdline.c: $(ggo_dir)/%_recv.ggo | $(cmdline_dir)
4 @[ -z "$(Q)" ] || echo 'GGO $<'
5 $(Q) $(GENGETOPT) $(module_ggo_opts) \
6 --output-dir=$(cmdline_dir) \
7 --set-package=$(subst .ggo,,$(<F)) \
8 --arg-struct-name=$(subst .ggo,,$(<F))_args_info \
9 --file-name=$(subst .ggo,,$(<F)).cmdline \
10 --func-name $(subst .ggo,,$(<F))_cmdline_parser < $<
11
12 $(cmdline_dir)/%_filter.cmdline.h $(cmdline_dir)/%_filter.cmdline.c: $(ggo_dir)/%_filter.ggo | $(cmdline_dir)
13 @[ -z "$(Q)" ] || echo 'GGO $<'
14 $(Q) $(GENGETOPT) $(module_ggo_opts) \
15 --output-dir=$(cmdline_dir) \
16 --set-package=$(subst .ggo,,$(<F)) \
17 --arg-struct-name=$(subst .ggo,,$(<F))_args_info \
18 --file-name=$(subst .ggo,,$(<F)).cmdline \
19 --func-name=$(subst _filter.ggo,,$(<F))_cmdline_parser < $<
20 $(cmdline_dir)/%_write.cmdline.h $(cmdline_dir)/%_write.cmdline.c: $(ggo_dir)/%_write.ggo | $(cmdline_dir)
21 @[ -z "$(Q)" ] || echo 'GGO $<'
22 $(Q) $(GENGETOPT) -S $(module_ggo_opts) \
23 --output-dir=$(cmdline_dir) \
24 --set-package=$(subst .ggo,,$(<F)) \
25 --arg-struct-name=$(subst .ggo,,$(<F))_args_info \
26 --file-name=$(subst .ggo,,$(<F)).cmdline \
27 --func-name $(subst _write.ggo,,$(<F))_cmdline_parser < $<
28
29 define ggo-opts
30 $(if $(filter gui,$(*F)), --no-handle-error) \
31 $(if $(filter recv filter write audiod,$(*F)), --no-handle-help) \
32 $(if $(filter afh,$(*F)), --unamed-opts=audio_file) \
33 $(if $(filter client audioc,$(*F)), --unamed-opts=command) \
34 --conf-parser \
35 --output-dir=$(cmdline_dir) \
36 --no-handle-version \
37 --file-name=$(*F).cmdline \
38 --func-name=$(*F)_cmdline_parser \
39 --arg-struct-name=$(*F)_args_info \
40 --set-package="para_$(*F)" \
41 --set-version="$(PACKAGE_VERSION)"
42 endef
43
44 $(cmdline_dir)/%.cmdline.h $(cmdline_dir)/%.cmdline.c: $(ggo_dir)/%.ggo | $(cmdline_dir)
45 @[ -z "$(Q)" ] || echo 'GGO $<'
46 $(Q) $(GENGETOPT) $(ggo-opts) < $<
47
48 $(ggo_dir)/server.ggo $(ggo_dir)/audiod.ggo: \
49 $(m4_ggo_dir)/loglevel.m4 $(m4_ggo_dir)/color.m4 \
50 $(m4_ggo_dir)/config_file.m4 $(m4_ggo_dir)/logfile.m4 \
51 $(m4_ggo_dir)/daemon.m4 $(m4_ggo_dir)/user.m4 \
52 $(m4_ggo_dir)/group.m4 $(m4_ggo_dir)/log_timing.m4 \
53 $(m4_ggo_dir)/config_file.m4
54
55 $(ggo_dir)/afh.ggo: $(m4_ggo_dir)/loglevel.m4
56 $(ggo_dir)/audioc.ggo: \
57 $(m4_ggo_dir)/loglevel.m4 \
58 $(m4_ggo_dir)/history_file.m4 \
59 $(m4_ggo_dir)/complete.m4
60 $(ggo_dir)/filter.ggo: $(m4_ggo_dir)/loglevel.m4
61 $(ggo_dir)/fsck.ggo: $(m4_ggo_dir)/loglevel.m4
62 $(ggo_dir)/gui.ggo: $(m4_ggo_dir)/loglevel.m4 $(m4_ggo_dir)/config_file.m4
63 $(ggo_dir)/recv.ggo: $(m4_ggo_dir)/loglevel.m4
64 $(ggo_dir)/write.ggo: $(m4_ggo_dir)/loglevel.m4
65 $(ggo_dir)/client.ggo: \
66 $(m4_ggo_dir)/loglevel.m4 \
67 $(m4_ggo_dir)/config_file.m4 \
68 $(m4_ggo_dir)/history_file.m4 \
69 $(m4_ggo_dir)/complete.m4
70
71 $(ggo_dir)/%.ggo: $(m4_ggo_dir)/%.m4 $(m4_ggo_dir)/header.m4 | $(ggo_dir)
72 @[ -z "$(Q)" ] || echo 'M4 $<'
73 $(Q) m4 -I $(m4_ggo_dir) $< > $@