>> How much can make scripts help to manage (optional) programming >> interface descriptions? > > Are you asking, how can a makefile represent a prerequisite which may be > built, but is not required to be built and it's not an error if it > cannot be built?
How do you think about the following approach to determine which source files can be tried to compile even when interface descriptions are (temporarily or intentionally) not available? source_dir::=$(abs_top_srcdir)/$(TARGET)/ ml_sources::=$(addprefix $(source_dir),$(SRC)) mli_sources::=$(wildcard $(source_dir)*.mli) modules_without_mli::=$(filter-out $(basename $(mli_sources)),$(basename $(ml_sources))) $(info modules_without_mli) $(info $(sort $(modules_without_mli))) $(modules_without_mli): %.cmo: %.ml $$(OCAMLC_CMD) -c $$< Unfortunately, corresponding messages seem to indicate that my knowledge and understanding is still incomplete for the application of static pattern rules. elfring@Sonne:~/Projekte/Coccinelle/20160205/parsing_c> LANG=C make --no-builtin-rules V=1 modules_without_mli /home/elfring/Projekte/Coccinelle/20160205/parsing_c/ast_c … … Makefile:145: target '/home/elfring/Projekte/Coccinelle/20160205/parsing_c/ast_c' doesn't match the target pattern … Makefile:149: warning: overriding recipe for target '/home/elfring/Projekte/Coccinelle/20160205/parsing_c/token_c' Makefile:146: warning: ignoring old recipe for target '/home/elfring/Projekte/Coccinelle/20160205/parsing_c/token_c' … Regards, Markus _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make