Newer
Older
snipet / project / trunk / tools / adlint / init / Makefile.tmpl
  1.  
  2. RUBY = ruby
  3.  
  4. ADLINT = adlint
  5. ADLINT_FLAGS = -t adlint_traits.yml -o . -p $(VPATH_COMPONENTS)
  6.  
  7. ADLINT_SMA = adlint_sma
  8. ADLINT_SMA_FLAGS = -t adlint_traits.yml -o . -p $(VPATH_COMPONENTS)
  9.  
  10. ADLINT_CMA = adlint_cma
  11. ADLINT_CMA_FLAGS = -t adlint_traits.yml -o .
  12.  
  13. ADLINT_CHK = adlint_chk
  14. ADLINT_CHK_FLAGS = -t adlint_traits.yml -o . -p $(VPATH_COMPONENTS)
  15.  
  16. RM = $(RUBY) -r fileutils -e 'FileUtils.rm_f(ARGV)'
  17.  
  18. VPATHED_SOURCES = $(addprefix $(VPATH)/, $(SOURCES))
  19.  
  20. SMA_MSG_FILES = $(addsuffix .msg.csv, $(SOURCES))
  21. SMA_MET_FILES = $(addsuffix .met.csv, $(SOURCES))
  22. SMA_I_FILES = $(addsuffix .i, $(basename $(SOURCES)))
  23. SMA_LOG_FILES = $(addsuffix .log, $(SOURCES))
  24.  
  25. CMA_MSG_FILE = $(PROJECT).msg.csv
  26. CMA_MET_FILE = $(PROJECT).met.csv
  27. CMA_LOG_FILE = $(PROJECT).log
  28.  
  29. .SUFFIXES:
  30.  
  31. %.c.msg.csv %.c.met.csv : %.c
  32. $(ADLINT_SMA) $(ADLINT_SMA_FLAGS) $<
  33.  
  34. $(CMA_MET_FILE) : $(SMA_MET_FILES)
  35. $(ADLINT_CMA) $(ADLINT_CMA_FLAGS) $^
  36.  
  37. .PHONY: adlint_sma-all
  38. adlint_sma-all : $(SMA_MET_FILES)
  39.  
  40. .PHONY: adlint_cma-all
  41. adlint_cma-all : $(CMA_MET_FILE)
  42.  
  43. .PHONY: adlint_chk-all
  44. adlint_chk-all :
  45. $(ADLINT_CHK) $(ADLINT_CHK_FLAGS) -v $(VPATHED_SOURCES)
  46.  
  47. .PHONY: adlint_verbose-all
  48. adlint_verbose-all :
  49. $(ADLINT) $(ADLINT_FLAGS) -v $(VPATHED_SOURCES)
  50.  
  51. .PHONY: adlint_verbose-sma-only
  52. adlint_verbose-sma-only :
  53. $(ADLINT_SMA) $(ADLINT_SMA_FLAGS) -v $(VPATHED_SOURCES)
  54.  
  55. .PHONY: adlint_verbose-cma-only
  56. adlint_verbose-cma-only : $(SMA_MET_FILES)
  57. $(ADLINT_CMA) $(ADLINT_CMA_FLAGS) -v $^
  58.  
  59. .PHONY: adlint_clean
  60. adlint_clean :
  61. @$(RM) $(SMA_MSG_FILES) $(SMA_MET_FILES) $(SMA_I_FILES) \
  62. $(SMA_LOG_FILES) $(CMA_MSG_FILE) $(CMA_MET_FILE) $(CMA_LOG_FILE)
  63.  
  64. .PHONY: all
  65. all : adlint_cma-all
  66.  
  67. .PHONY: sma-only
  68. sma-only : adlint_sma-all
  69.  
  70. .PHONY: verbose-all
  71. verbose-all : adlint_verbose-all
  72.  
  73. .PHONY: verbose-sma-only
  74. verbose-sma-only : adlint_verbose-sma-only
  75.  
  76. .PHONY: verbose-cma-only
  77. verbose-cma-only : adlint_verbose-cma-only
  78.  
  79. .PHONY: check
  80. check : adlint_chk-all
  81.  
  82. .PHONY: clean
  83. clean : adlint_clean
  84.