python2ruby/makefile
2025-11-20 10:30:59 +01:00

41 lines
886 B
Makefile

CXX = g++
ARGS = -std=c++17
BISON = /opt/homebrew/opt/bison/bin/bison
FLEX = flex
TARGET = build/py2rb
$(TARGET): build/lexer.o build/parser.o build/ParserCtx.o build/main.o build/config.o
$(CXX) $^ -o $@
build/lexer.hpp build/lexer.cpp: src/lexer.l build/parser.hpp build
$(FLEX) --header-file=build/lexer.hpp -o build/lexer.cpp src/lexer.l
build/parser.hpp build/parser.cpp: src/parser.y build
$(BISON) -d -v -o build/parser.cpp src/parser.y
build/lexer.o: build/lexer.cpp build
$(CXX) -c $(ARGS) $< -o $@
build/parser.o: build/parser.cpp build
$(CXX) -c $(ARGS) $< -o $@
build/ParserCtx.o: src/ParserCtx.cpp build
$(CXX) -c $(ARGS) $< -o $@
build/main.o: src/main.cpp build
$(CXX) -c $(ARGS) $< -o $@
build/config.o: src/config.cpp build
$(CXX) -c $(ARGS) $< -o $@
build:
mkdir -p build
clean:
rm -rf build
run: $(TARGET)
$(TARGET)
.PHONY: clean run