Makefile 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. MAIN=kind
  2. #CXX=clang++
  3. OBJECTS=$(MAIN).o filetools.o FileName.o DateTime.o stringtools.o KindConfig.o Lexer.o rulecomp.o
  4. LOPT := $(OPT)
  5. COPT := $(OPT) -std=c++11
  6. LIBS :=
  7. COPT := $(COPT) -g -Wall -fno-strict-aliasing
  8. # source code beautifier
  9. ASTYLE := astyle
  10. # format options for beautifier
  11. ASTYLE_OPT = --style=gnu --unpad-paren --pad-header --pad-oper --indent-namespaces --indent=spaces=2 --convert-tabs --align-pointer=type --align-reference=type --remove-brackets
  12. #--add-brackets
  13. %.o:%.c
  14. $(CC) $(COPT) $(INCLUDE) -c $*.c
  15. %.o:%.cpp
  16. $(CXX) $(COPT) $(INCLUDE) -c $*.cpp
  17. %: %.o
  18. $(CXX) $(COPT) $(LOPT) $(LIBRARY) -o $* $*.o $(LIBS)
  19. %:%.cpp
  20. $(CXX) $(COPT) $(INCLUDE) -c $*.cpp
  21. $(CXX) $(LIBRARY) $(LOPT) -o $* $*.o $(LIBS)
  22. %.cpp:%.ag
  23. AppGen $*.ag $*.cpp
  24. $(MAIN): dep $(OBJECTS)
  25. $(CXX) $(LOPT) $(LIBRARY) -o $(MAIN) $(OBJECTS) $(LIBS)
  26. clean:
  27. -rm -f *.o depend *~ *orig
  28. dep: $(MAIN).cpp
  29. -rm depend
  30. touch depend
  31. $(CXX) -M $(COPT) $(INCLUDE) *.cpp >> depend
  32. format:
  33. $(ASTYLE) $(ASTYLE_OPT) *.cpp *.ag *.h
  34. -include depend