begin removing Makefile boilerplate
This commit is contained in:
parent
e599801f2e
commit
a1e34376de
2 changed files with 19 additions and 15 deletions
26
Makefile
26
Makefile
|
|
@ -19,28 +19,32 @@ $(addprefix $(LIB)/,$1)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# === BUILD TARGETS ===
|
# === BUILD TARGETS ===
|
||||||
all: $(BUILD) $(BIN) $(call mkbin,pw-test graph sine)
|
all: $(BUILD) $(BIN) $(call mkbin,pw-test graph sine shfx cli)
|
||||||
$(BIN)/pw-test: $(call mklib, main.c)
|
$(BIN)/pw-test: $(call mklib, main.c)
|
||||||
$(CCOMPILER) $(CFLAGS) -o $(BUILD)/pw-test.o -c $^
|
$(CC) $(CFLAGS) -o $(BUILD)/pw-test.o -c $^
|
||||||
$(CLINKER) $(LDFLAGS) -o $@ $(BUILD)/pw-test.o
|
$(CLD) $(CLDFLAGS) -o $@ $(BUILD)/pw-test.o
|
||||||
|
|
||||||
$(BIN)/graph: $(call mklib, graph.c)
|
$(BIN)/shfx: shfx/main.c
|
||||||
$(CCOMPILER) $(CFLAGS) -o $(BUILD)/graph.o -c $^
|
$(CC) $(CFLAGS) -o $(BUILD)/shfx.o -c $^
|
||||||
$(CLINKER) $(LDFLAGS) -lncurses -o $@ $(BUILD)/graph.o
|
$(CLD) $(CLDFLAGS) -lncurses -o $@ $(BUILD)/shfx.o
|
||||||
|
|
||||||
$(BIN)/sine: $(call mklib, sine.c)
|
$(BIN)/cli: cli/main.c cli/mkpty.c
|
||||||
$(CCOMPILER) $(CFLAGS) -o $(BUILD)/sine.o -c $^
|
$(CLD) $(CLDFLAGS) -o $@ $(BUILD)/cli.o
|
||||||
$(CLINKER) $(LDFLAGS) -lncurses -o $@ $(BUILD)/sine.o
|
|
||||||
|
|
||||||
$(BUILD) $(BIN):
|
$(BUILD) $(BIN):
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
||||||
|
$1/%.o: $1/%.c
|
||||||
|
$(foreach dep, $^,
|
||||||
|
$(CC) $(CFLAGS) -o "$(BUILD)/$(basename $(notdir dep)).o" -c $(dep))
|
||||||
|
$(LD) $(LDFLAGS) -o $@ $(addsuffix .o,$(basename $^))
|
||||||
|
|
||||||
# === DEVELOPMENT TARGETS ===
|
# === DEVELOPMENT TARGETS ===
|
||||||
.PHONY: debug run test
|
.PHONY: debug run test
|
||||||
debug:
|
debug:
|
||||||
$(MAKE) all \
|
$(MAKE) all \
|
||||||
CFLAGS="$(CFLAGS) $(CFLAGS_DBG)" \
|
CFLAGS="$(CFLAGS) $(CFLAGS_DBG)" \
|
||||||
LDFLAGS="$(LDFLAGS) $(LDFLAGS_DBG)"
|
CLDFLAGS="$(CLDFLAGS) $(CLDFLAGS_DBG)"
|
||||||
run: debug
|
run: debug
|
||||||
- command $(BIN)/pw-test
|
- command $(BIN)/pw-test
|
||||||
test: clean run
|
test: clean run
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
# === C Compiler Configuration ===
|
# === C Compiler Configuration ===
|
||||||
CC := gcc
|
CC := gcc
|
||||||
# CCOMPILER = $$([ -x "$$(command -v bear)" ] && echo 'bear -- ') $(CC)
|
|
||||||
CCOMPILER = $(CC)
|
|
||||||
CFLAGS := -Wall -Wextra -std=gnu23 -O
|
CFLAGS := -Wall -Wextra -std=gnu23 -O
|
||||||
CFLAGS_DBG := -g
|
CFLAGS_DBG := -g
|
||||||
|
|
||||||
# === C Linker Configuration ===
|
# === C Linker Configuration ===
|
||||||
CLINKER = $(CC)
|
LD := ld
|
||||||
LDFLAGS := -lpipewire-0.3 -lm -lc
|
CLD = $(CC)
|
||||||
|
LDFLAGS :=
|
||||||
|
CLDFLAGS := -lpipewire-0.3 -lm -lc
|
||||||
LDFLAGS_DBG := -g
|
LDFLAGS_DBG := -g
|
||||||
|
|
||||||
# # === Nix Mutations ===
|
# # === Nix Mutations ===
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue