.POSIX: data_dir = data shaders = data/triangle.csh tools = qstd cfg sc .PHONY: all clean $(tools) all: $(shaders) $(tools) qstd: $(MAKE) -C qstd cfg: qstd $(MAKE) -C cfg sc: qstd cfg $(MAKE) -C sc data/triangle.csh: intermediate/triangle.glsl | $(data_dir) sc ./sc/sc intermediate/triangle.glsl data/triangle.csh $(data_dir): mkdir -p $(data_dir) clean: rm -rf $(data_dir) make -C qstd clean make -C cfg clean make -C sc clean