Makefile 398 B

123456789101112131415161718192021
  1. CC = g++
  2. FLAGS = -Wall
  3. EXAMPLE = examples/factorial
  4. all: test.out
  5. Token.o : src/Token.cpp src/Token.hpp
  6. $(CC) -c $(FLAGS) $<
  7. Lexer.o : src/Lexer.cpp src/Lexer.hpp Token.o
  8. $(CC) -c $(FLAGS) $<
  9. Parser.o : src/Parser.cpp src/Parser.hpp Lexer.o Token.o
  10. $(CC) -c $(FLAGS) $<
  11. test.out: src/main.cpp Token.o Lexer.o Parser.o
  12. $(CC) $(FLAGS) $^ -o $@
  13. ./$@ $(EXAMPLE)
  14. clean:
  15. rm -f test.out *.o