Initial commit: Oraset3 programming language with OS-level features
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
CC = g++
|
||||
CFLAGS = -std=c++17 -Wall -Iinclude
|
||||
LDFLAGS =
|
||||
|
||||
SRCS = src/cpp/lexer/lexer.cpp \
|
||||
src/cpp/parser/parser.cpp \
|
||||
src/cpp/semantic/semantic.cpp \
|
||||
src/cpp/codegen/codegen.cpp \
|
||||
src/cpp/compiler.cpp
|
||||
|
||||
OBJS = $(SRCS:.cpp=.o)
|
||||
TARGET = oraset3
|
||||
|
||||
.PHONY: all clean test run
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
$(TARGET): $(OBJS)
|
||||
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
%.o: %.cpp
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -f $(OBJS) $(TARGET)
|
||||
rm -f tests/*.out
|
||||
rm -f examples/*.out
|
||||
|
||||
test: all
|
||||
./$(TARGET) tests/test1.ora tests/test1.cpp
|
||||
g++ -o tests/test1.out tests/test1.cpp
|
||||
./tests/test1.out
|
||||
|
||||
run: all
|
||||
./$(TARGET) examples/hello.ora examples/hello.cpp
|
||||
g++ -o examples/hello.out examples/hello.cpp
|
||||
./examples/hello.out
|
||||
|
||||
# Linux build with clang
|
||||
clang:
|
||||
clang++ -std=c++17 -Wall -Iinclude -o $(TARGET) $(SRCS)
|
||||
|
||||
# Windows build
|
||||
win:
|
||||
x86_64-w64-mingw32-g++ -std=c++17 -Wall -Iinclude -o $(TARGET).exe $(SRCS)
|
||||
Reference in New Issue
Block a user