43 lines
707 B
Makefile
43 lines
707 B
Makefile
STATIC = -static -static-libgcc -static-libstdc++
|
|
CXXFLAGS = -Og -g -Wall -Wextra -Werror -Wfatal-errors -Wno-c99-designator -std=c++20
|
|
LDFLAGS =
|
|
|
|
TARGET ?=
|
|
CXX = $(TARGET)g++
|
|
|
|
SRC = main.cpp
|
|
SRC += lexer.cpp
|
|
SRC += ast_printer.cpp
|
|
SRC += ast_resolver.cpp
|
|
SRC += ast_emitter.cpp
|
|
SRC += parser.cpp
|
|
SRC += stmt_string.cpp
|
|
OBJ = $(patsubst %.cpp,%.o,$(SRC))
|
|
DEP = $(patsubst %.cpp,%.d,$(SRC))
|
|
|
|
MAIN = scu-dsp-asm
|
|
|
|
all: $(MAIN)
|
|
|
|
-include $(DEP)
|
|
|
|
%.o: %.cpp
|
|
$(CXX) $(CXXFLAGS) -MMD -MF $(basename $<).d -c $< -o $@
|
|
|
|
$(MAIN): $(OBJ)
|
|
$(CXX) $(STATIC) $(LDFLAGS) $^ -o $@
|
|
|
|
clean:
|
|
rm -f *.o *.d *.gch $(MAIN)
|
|
|
|
.SUFFIXES:
|
|
.INTERMEDIATE:
|
|
.SECONDARY:
|
|
.PHONY: all clean
|
|
|
|
%: RCS/%,v
|
|
%: RCS/%
|
|
%: %,v
|
|
%: s.%
|
|
%: SCCS/s.%
|