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