--func-name $(subst _write.ggo,,$(<F))_cmdline_parser < $<
define ggo-opts
+$(if $(filter gui,$(*F)), --no-handle-error) \
$(if $(filter recv filter write audiod,$(*F)), --no-handle-help) \
$(if $(filter afh,$(*F)), --unamed-opts=audio_file) \
$(if $(filter client audioc,$(*F)), --unamed-opts=command) \
$(ggo_dir)/filter.ggo: $(ggo_dir)/loglevel.m4
$(ggo_dir)/fsck.ggo: $(ggo_dir)/loglevel.m4
$(ggo_dir)/gui.ggo: $(ggo_dir)/loglevel.m4
-$(ggo_dir)/recv.ggo: $(ggo_dir)/loglevel.m4 $(ggo_dir)/buffer_tree.m4
+$(ggo_dir)/recv.ggo: $(ggo_dir)/loglevel.m4
$(ggo_dir)/write.ggo: $(ggo_dir)/loglevel.m4
$(ggo_dir)/client.ggo: $(ggo_dir)/loglevel.m4 $(ggo_dir)/config_file.m4