define ggo_opts --output-dir=$(cmdline_dir) \ --set-version="$(GIT_VERSION)" \ --arg-struct-name=$(*F)_args_info \ --file-name=$(*F).cmdline \ --func-name=$(*F)_cmdline_parser \ --set-package="para_$(*F)" endef .PRECIOUS: $(cmdline_dir)/%.cmdline.c $(cmdline_dir)/%.cmdline.h $(ggo_dir)/%.ggo $(cmdline_dir)/%.cmdline.h $(cmdline_dir)/%.cmdline.c: $(ggo_dir)/%.ggo | $(cmdline_dir) @[ -z "$(Q)" ] || echo 'GGO $<' $(Q) $(GENGETOPT) $(ggo_opts) < $< ifeq ($(ggo_descriptions_declared),no) echo 'extern const char *$(*F)_args_info_description;' >> $(cmdline_dir)/$(*F).cmdline.h endif $(m4depdir)/%.m4d: $(m4_ggo_dir)/%.m4 | $(m4depdir) @[ -z "$(Q)" ] || echo 'M4D $<' $(Q) m4 -I $(m4_ggo_dir) --debug=i $< 3>&1 1>/dev/null 2>&3 \ | awk '{if ($$0 ~ "^m4debug: input read from ") \ print "$(ggo_dir)/$(*F).ggo: " $$NF}' > $@ $(ggo_dir)/%.ggo: $(m4_ggo_dir)/%.m4 $(m4_ggo_dir)/header.m4 | $(ggo_dir) @[ -z "$(Q)" ] || echo 'M4 $<' $(Q) m4 -I $(m4_ggo_dir) $< > $@ $(help2man_dir)/para_%: $(ggo_dir)/%.ggo | $(help2man_dir) @[ -z "$(Q)" ] || echo 'G2X $<' $(Q) printf "#!/bin/sh\nif [ \"\$$1\" = '--version' ]; then \ $(GENGETOPT) $(ggo_opts) --show-version < $<; \ elif [ \"\$$1\" = '--help' ]; then \ $(GENGETOPT) $(ggo_opts) --show-detailed-help < $<; \ else \ exit 1; \ fi\n" > $@.tmp $(Q) chmod 755 $@.tmp && mv $@.tmp $@