restructure Make
This commit is contained in:
parent
2711027dcf
commit
c1d82b5046
2 changed files with 35 additions and 30 deletions
27
Makefile
27
Makefile
|
|
@ -7,8 +7,6 @@ BIN := bin
|
|||
BUILD := build
|
||||
LIB := lib
|
||||
|
||||
LDLIBS := -lm -lc -lpipewire-0.3
|
||||
|
||||
# Macro definitions
|
||||
define mkbin
|
||||
$(addprefix $(BIN)/,$1)
|
||||
|
|
@ -20,21 +18,26 @@ define mklib
|
|||
$(addprefix $(LIB)/,$1)
|
||||
endef
|
||||
|
||||
all: $(BUILD) $(BIN) $(BIN)/pw-test
|
||||
# === BUILD TARGETS ===
|
||||
all: $(BUILD) $(BIN) $(call mkbin,pw-test graph sine)
|
||||
$(BIN)/pw-test: $(call mklib, main.c)
|
||||
$(CC) $(CFLAGS) -o $(BUILD)/pw-test.o -c $^
|
||||
$(LD) $(LDFLAGS) $(LDLIBS) -o $@ $(BUILD)/pw-test.o
|
||||
$(CCOMPILER) $(CFLAGS) -o $(BUILD)/pw-test.o -c $^
|
||||
$(CLINKER) $(LDFLAGS) -o $@ $(BUILD)/pw-test.o
|
||||
|
||||
$(BUILD) $(BIN):
|
||||
mkdir -p $@
|
||||
|
||||
.PHONY: run
|
||||
run:
|
||||
command $(BIN)/pw-test
|
||||
|
||||
.PHONY: test
|
||||
test: clean all run
|
||||
# === 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
|
||||
|
||||
# === UTILITY TARGETS ===
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(BUILD) $(BIN) compile_commands.json
|
||||
rm -rf $(BUILD) $(BIN)
|
||||
|
|
|
|||
38
config.mk
38
config.mk
|
|
@ -1,23 +1,25 @@
|
|||
# === C Compiler COnfiguration ===
|
||||
COMPILER := gcc
|
||||
CFLAGS :=
|
||||
LDFLAGS :=
|
||||
# === C Compiler Configuration ===
|
||||
CC := gcc
|
||||
# CCOMPILER = $$([ -x "$$(command -v bear)" ] && echo 'bear -- ') $(CC)
|
||||
CCOMPILER = $(CC)
|
||||
CFLAGS := -Wall -Wextra -std=gnu23 -O
|
||||
CFLAGS_DBG := -g
|
||||
|
||||
# === Nix Mutations ===
|
||||
ifdef NIX_PATH
|
||||
# === C Linker Configuration ===
|
||||
CLINKER = $(CC)
|
||||
LDFLAGS := -lpipewire-0.3 -lm -lc
|
||||
LDFLAGS_DBG := -g
|
||||
|
||||
ifdef NIX_CC
|
||||
# TODO: will using the Nix gcc-wrapper break Bear?
|
||||
override COMPILER := $(NIX_CC)/bin/gcc
|
||||
endif # NIX_CC
|
||||
# # === Nix Mutations ===
|
||||
# ifdef NIX_PATH
|
||||
|
||||
# flake.nix adds NIX_CFLAGS_COMPILER/DORNE_LDFLAGS to env
|
||||
CFLAGS += $(NIX_CFLAGS_COMPILE)
|
||||
LDFLAGS += $(DORNE_LDFLAGS)
|
||||
# ifdef NIX_CC
|
||||
# # TODO: will using the Nix gcc-wrapper break Bear?
|
||||
# override COMPILER := $(NIX_CC)/bin/gcc
|
||||
# endif # NIX_CC
|
||||
|
||||
endif # NIX_PATH
|
||||
# # flake.nix adds NIX_CFLAGS_COMPILER/DORNE_LDFLAGS to env
|
||||
# CFLAGS += $(NIX_CFLAGS_COMPILE)
|
||||
# LDFLAGS += $(DORNE_LDFLAGS)
|
||||
|
||||
|
||||
# C Compiler+Linker Commands
|
||||
CC = $$([ -x "$$(command -v bear)" ] && echo 'bear -- ') $(COMPILER)
|
||||
LD = $(COMPILER)
|
||||
# endif # NIX_PATH
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue