Files
highground-fork/Makefile
2026-01-28 20:24:15 +11:00

38 lines
785 B
Makefile

CXX = g++
CXXFLAGS = -std=c++17 -Wall -Isrc
LDFLAGS = -lgroundvm
BUILD_DIR = build
SRC_DIR = src
PREFIX ?= /usr/local
BINDIR = $(PREFIX)/bin
LIBDIR = /usr/lib
SRCS = $(SRC_DIR)/main.cpp $(SRC_DIR)/argparser.cpp $(SRC_DIR)/lexer.cpp $(SRC_DIR)/parser.cpp $(SRC_DIR)/error.cpp
OBJS = $(patsubst $(SRC_DIR)/%.cpp, $(BUILD_DIR)/%.o, $(SRCS))
TARGET = solstice
all: $(TARGET)
$(TARGET): $(OBJS)
$(CXX) $(OBJS) -o $(TARGET) $(LDFLAGS)
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp | $(BUILD_DIR)
$(CXX) $(CXXFLAGS) -c $< -o $@
install: $(TARGET)
mkdir -p /usr/lib/solstice
install -d $(BINDIR)
install -m 755 $(TARGET) $(BINDIR)/$(TARGET)
install -d $(LIBDIR)
cp -r libs/* $(LIBDIR)/solstice
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
clean:
rm -rf $(BUILD_DIR) $(TARGET)
.PHONY: all clean