Tram is now an optional dependency

This commit is contained in:
2026-04-11 12:31:37 +10:00
parent fcf9a13fa1
commit 18ac18bc6d
4 changed files with 24 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
CC = gcc
CFLAGS = -Wall -Wextra -Isrc/include -Iinclude -ggdb
LDFLAGS = -ldl -rdynamic -ltram
CFLAGS += -Wall -Wextra -Isrc/include -Iinclude -ggdb
LDFLAGS += -ldl -rdynamic
# Install paths
PREFIX ?= /usr/local
@@ -27,9 +27,13 @@ EXE_SOURCES = $(wildcard $(SRC_DIR)/*.c)
LIB_OBJECTS = $(LIB_SOURCES:$(SRC_DIR)/%.c=$(OBJ_DIR)/lib_%.o)
EXE_OBJECTS = $(EXE_SOURCES:$(SRC_DIR)/%.c=$(OBJ_DIR)/exe_%.o)
# Default target: build standalone executable
# Default target: build library
.PHONY: all
all: executable
all: both
DEFINE_TRAM:
$(eval CFLAGS += -DGROUND_COMPILE_WITH_TRAM)
$(eval LDFLAGS += -ltram)
# Build standalone executable
.PHONY: executable
@@ -43,6 +47,10 @@ library: $(SHARED_LIB) $(HEADERS)
.PHONY: both
both: executable library
# both, with tram
.PHONY: tram_both
tram_both: DEFINE_TRAM both
# Link executable
$(EXECUTABLE): $(EXE_OBJECTS) | $(BIN_DIR)
$(CC) $(EXE_OBJECTS) -o $@ $(LDFLAGS)