--output-dir=$(cmdline_dir) \
--set-package=$(subst .ggo,,$(<F)) \
--arg-struct-name=$(subst .ggo,,$(<F))_args_info \
--file-name=$(subst .ggo,,$(<F)).cmdline \
--func-name=$(subst _filter.ggo,,$(<F))_cmdline_parser < $<
$(cmdline_dir)/%_write.cmdline.h $(cmdline_dir)/%_write.cmdline.c: $(ggo_dir)/%_write.ggo | $(cmdline_dir)
--output-dir=$(cmdline_dir) \
--set-package=$(subst .ggo,,$(<F)) \
--arg-struct-name=$(subst .ggo,,$(<F))_args_info \
--file-name=$(subst .ggo,,$(<F)).cmdline \
--func-name=$(subst _filter.ggo,,$(<F))_cmdline_parser < $<
$(cmdline_dir)/%_write.cmdline.h $(cmdline_dir)/%_write.cmdline.c: $(ggo_dir)/%_write.ggo | $(cmdline_dir)