RUBY = ruby ADLINT = adlint ADLINT_FLAGS = -t adlint_traits.yml -o . -p $(VPATH_COMPONENTS) ADLINT_SMA = adlint_sma ADLINT_SMA_FLAGS = -t adlint_traits.yml -o . -p $(VPATH_COMPONENTS) ADLINT_CMA = adlint_cma ADLINT_CMA_FLAGS = -t adlint_traits.yml -o . ADLINT_CHK = adlint_chk ADLINT_CHK_FLAGS = -t adlint_traits.yml -o . -p $(VPATH_COMPONENTS) RM = $(RUBY) -r fileutils -e 'FileUtils.rm_f(ARGV)' VPATHED_SOURCES = $(addprefix $(VPATH)/, $(SOURCES)) SMA_MSG_FILES = $(addsuffix .msg.csv, $(SOURCES)) SMA_MET_FILES = $(addsuffix .met.csv, $(SOURCES)) SMA_I_FILES = $(addsuffix .i, $(basename $(SOURCES))) SMA_LOG_FILES = $(addsuffix .log, $(SOURCES)) CMA_MSG_FILE = $(PROJECT).msg.csv CMA_MET_FILE = $(PROJECT).met.csv CMA_LOG_FILE = $(PROJECT).log .SUFFIXES: %.c.msg.csv %.c.met.csv : %.c $(ADLINT_SMA) $(ADLINT_SMA_FLAGS) $< $(CMA_MET_FILE) : $(SMA_MET_FILES) $(ADLINT_CMA) $(ADLINT_CMA_FLAGS) $^ .PHONY: adlint_sma-all adlint_sma-all : $(SMA_MET_FILES) .PHONY: adlint_cma-all adlint_cma-all : $(CMA_MET_FILE) .PHONY: adlint_chk-all adlint_chk-all : $(ADLINT_CHK) $(ADLINT_CHK_FLAGS) -v $(VPATHED_SOURCES) .PHONY: adlint_verbose-all adlint_verbose-all : $(ADLINT) $(ADLINT_FLAGS) -v $(VPATHED_SOURCES) .PHONY: adlint_verbose-sma-only adlint_verbose-sma-only : $(ADLINT_SMA) $(ADLINT_SMA_FLAGS) -v $(VPATHED_SOURCES) .PHONY: adlint_verbose-cma-only adlint_verbose-cma-only : $(SMA_MET_FILES) $(ADLINT_CMA) $(ADLINT_CMA_FLAGS) -v $^ .PHONY: adlint_clean adlint_clean : @$(RM) $(SMA_MSG_FILES) $(SMA_MET_FILES) $(SMA_I_FILES) \ $(SMA_LOG_FILES) $(CMA_MSG_FILE) $(CMA_MET_FILE) $(CMA_LOG_FILE) .PHONY: all all : adlint_cma-all .PHONY: sma-only sma-only : adlint_sma-all .PHONY: verbose-all verbose-all : adlint_verbose-all .PHONY: verbose-sma-only verbose-sma-only : adlint_verbose-sma-only .PHONY: verbose-cma-only verbose-cma-only : adlint_verbose-cma-only .PHONY: check check : adlint_chk-all .PHONY: clean clean : adlint_clean