smell-@MODULE@: $(@PACKAGE@SMELL)
-@MODULE@/smell/%.occ : @MODULE@/%.cxx
- $(MUTE)echo smelling $@
+@MODULE@/smell/%_cxx.ml : @MODULE@/%.cxx
+ @[ -d $(dir $@) ] || mkdir -p $(dir $@)
+ $(MUTE)src2srcml $< $@
+
+@MODULE@/smell/%_h.ml : @MODULE@/%.h
@[ -d $(dir $@) ] || mkdir -p $(dir $@)
- @$(CXX) -E $(@PACKAGE@DEFINE) -D__opencxx $(@PACKAGE@INC) $(@PACKAGE@CXXFLAGS) $< -o $@ -x c++ $<
-
-@MODULE@/smell/%.smell : @MODULE@/smell/%.occ
- @$(SMELL_DETECTOR_DIR)/patch-smell-detector.prl $<
- @java -classpath $(SMELL_DETECTOR_DIR) Stripper $<
- @$(SMELL_DETECTOR_DIR)/code-smell1 -n -E -c $(patsubst %.occ, %.i, $<) -Mclass=$(patsubst $(dir $@)%.occ,%, $<) > $(patsubst %.occ,%.smell, $<)
- @$(SMELL_DETECTOR_DIR)/code-smell2 -n -E -c $(patsubst %.occ, %.i, $<) -Mclass=$(patsubst $(dir $@)%.occ,%, $<) >> $(patsubst %.occ,%.smell, $<)
- @$(SMELL_DETECTOR_DIR)/code-smell3 -n -E -c $(patsubst %.occ, %.i, $<) -Mclass=$(patsubst $(dir $@)%.occ,%, $<) >> $(patsubst %.occ,%.smell, $<)
- @$(SMELL_DETECTOR_DIR)/code-smell4 -n -E -c $(patsubst %.occ, %.i, $<) -Mclass=$(patsubst $(dir $@)%.occ,%, $<) >> $(patsubst %.occ,%.smell, $<)
- @$(SMELL_DETECTOR_DIR)/code-smell5 -n -E -c $(patsubst %.occ, %.i, $<) -Mclass=$(patsubst $(dir $@)%.occ,%, $<) >> $(patsubst %.occ,%.smell, $<)
- @$(SMELL_DETECTOR_DIR)/code-smell6 -n -E -c $(patsubst %.occ, %.i, $<) -Mclass=$(patsubst $(dir $@)%.occ,%, $<) >> $(patsubst %.occ,%.smell, $<)
- @$(SMELL_DETECTOR_DIR)/code-smell7 -n -E -c $(patsubst %.occ, %.i, $<) -Mclass=$(patsubst $(dir $@)%.occ,%, $<) >> $(patsubst %.occ,%.smell, $<)
- @$(SMELL_DETECTOR_DIR)/code-smell8 -n -E -c $(patsubst %.occ, %.i, $<) -Mclass=$(patsubst $(dir $@)%.occ,%, $<) >> $(patsubst %.occ,%.smell, $<)
- @$(SMELL_DETECTOR_DIR)/code-smell9 -n -E -c $(patsubst %.occ, %.i, $<) -Mclass=$(patsubst $(dir $@)%.occ,%, $<) >> $(patsubst %.occ,%.smell, $<)
- @$(SMELL_DETECTOR_DIR)/code-smell10 -n -E -c $(patsubst %.occ, %.i, $<) -Mclass=$(patsubst $(dir $@)%.occ,%, $<) >> $(patsubst %.occ,%.smell, $<)
- @mv $(patsubst $(dir $@)%.occ,%.ii, $<) $(dir $@)
+ $(MUTE)src2srcml $< $@
+
+@MODULE@/smell/%.smell : @MODULE@/smell/%_cxx.ml @MODULE@/smell/%_h.ml
+ $(MUTE)echo smelling $@
+ java -classpath $(SMELL_DETECTOR_DIR):$(SMELL_DETECTOR_DIR)/xom-1.1.jar -Xmx500m SmellDetector $? > $@
+.PRECIOUS: $(patsubst %.cxx,@MODULE@/smell/%_h.ml,$(SRCS)) $(patsubst %.cxx,@MODULE@/smell/%_cxx.ml,$(SRCS))
# targets to create .par archives (jgrosseo)
@PACKAGE@.par: $(patsubst %,@MODULE@/@PACKAGE@/%,$(filter-out dict.%, $(HDRS) $(SRCS) $(DHDR) $(PKGFILE) Makefile Makefile.arch lib@PACKAGE@.pkg PROOF-INF))
@MODULE@/@PACKAGE@/Makefile.arch: $(ROOTSYS)/test/Makefile.arch
@echo Copying $< to $@
@[ -d $(dir $@) ] || mkdir -p $(dir $@)
- @cp $^ $@
+ @cp -a $^ $@
@MODULE@/@PACKAGE@/PROOF-INF: @MODULE@/PROOF-INF.@PACKAGE@
@echo Copying $< to $@
@[ -d $(dir $@) ] || mkdir -p $(dir $@)
- @cp -r $^ $@
+ @cp -a $^ $@
@MODULE@/@PACKAGE@/%: @MODULE@/%
@echo Copying $< to $@
@[ -d $(dir $@) ] || mkdir -p $(dir $@)
- @cp $< $@
+ @cp -a $< $@
test-@PACKAGE@.par: @PACKAGE@.par
@echo "INFO: The file $< is now tested, in case of an error check in par-tmp/@PACKAGE@."