dorne/Makefile

44 lines
833 B
Makefile
Raw Normal View History

2025-09-03 02:32:13 +10:00
.DEFAULT_GOAL := all
include config.mk
# === BUILD ENVIRONMENT ===
BIN := bin
BUILD := build
LIB := lib
2025-09-03 14:57:16 +10:00
2025-09-03 02:32:13 +10:00
# Macro definitions
define mkbin
$(addprefix $(BIN)/,$1)
endef
define mkbuild
$(addprefix $(BUILD)/,$1)
endef
define mklib
$(addprefix $(LIB)/,$1)
endef
2025-09-09 11:12:09 +10:00
# === BUILD TARGETS ===
all: $(BUILD) $(BIN) $(call mkbin,pw-test graph sine)
2025-09-03 02:32:13 +10:00
$(BIN)/pw-test: $(call mklib, main.c)
2025-09-09 11:12:09 +10:00
$(CCOMPILER) $(CFLAGS) -o $(BUILD)/pw-test.o -c $^
$(CLINKER) $(LDFLAGS) -o $@ $(BUILD)/pw-test.o
2025-09-03 02:32:13 +10:00
2025-09-03 14:57:16 +10:00
$(BUILD) $(BIN):
2025-09-03 02:32:13 +10:00
mkdir -p $@
2025-09-03 14:57:16 +10:00
2025-09-09 11:12:09 +10:00
# === DEVELOPMENT TARGETS ===
.PHONY: debug run test
debug:
$(MAKE) all \
CFLAGS="$(CFLAGS) $(CFLAGS_DBG)" \
LDFLAGS="$(LDFLAGS) $(LDFLAGS_DBG)"
run: debug
- command $(BIN)/pw-test
test: clean run
2025-09-03 14:56:29 +10:00
2025-09-09 11:12:09 +10:00
# === UTILITY TARGETS ===
2025-09-03 02:32:13 +10:00
.PHONY: clean
clean:
2025-09-09 11:21:30 +10:00
- rm -rf $(BUILD) $(BIN) vgcore.* &>/dev/null