Extract shared Makefile config into common.mk

CC, CFLAGS, and BUILD are now defined once in common.mk at the repo root.
Each module and CLI Makefile sets ROOT then includes common.mk, eliminating
the repeated definitions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-25 22:15:03 +00:00
parent eb65181fe7
commit e1b848333b
5 changed files with 39 additions and 33 deletions

View File

@@ -1,17 +1,17 @@
ROOT := $(abspath ../../..)
CC = gcc
CFLAGS = -std=c11 -Wall -Wextra -D_GNU_SOURCE -flto -I$(ROOT)/include
BUILD = $(ROOT)/build/common
ROOT := $(abspath ../../..)
include $(ROOT)/common.mk
MODULE_BUILD = $(BUILD)/common
.PHONY: all clean
all: $(BUILD)/error.o
all: $(MODULE_BUILD)/error.o
$(BUILD)/error.o: error.c $(ROOT)/include/error.h | $(BUILD)
$(MODULE_BUILD)/error.o: error.c $(ROOT)/include/error.h | $(MODULE_BUILD)
$(CC) $(CFLAGS) -c -o $@ $<
$(BUILD):
$(MODULE_BUILD):
mkdir -p $@
clean:
rm -f $(BUILD)/error.o
rm -f $(MODULE_BUILD)/error.o

View File

@@ -1,17 +1,17 @@
ROOT := $(abspath ../../..)
CC = gcc
CFLAGS = -std=c11 -Wall -Wextra -D_GNU_SOURCE -flto -I$(ROOT)/include
BUILD = $(ROOT)/build/media_ctrl
ROOT := $(abspath ../../..)
include $(ROOT)/common.mk
MODULE_BUILD = $(BUILD)/media_ctrl
.PHONY: all clean
all: $(BUILD)/media_ctrl.o
all: $(MODULE_BUILD)/media_ctrl.o
$(BUILD)/media_ctrl.o: media_ctrl.c $(ROOT)/include/media_ctrl.h $(ROOT)/include/error.h | $(BUILD)
$(MODULE_BUILD)/media_ctrl.o: media_ctrl.c $(ROOT)/include/media_ctrl.h $(ROOT)/include/error.h | $(MODULE_BUILD)
$(CC) $(CFLAGS) -c -o $@ $<
$(BUILD):
$(MODULE_BUILD):
mkdir -p $@
clean:
rm -f $(BUILD)/media_ctrl.o
rm -f $(MODULE_BUILD)/media_ctrl.o

View File

@@ -1,17 +1,17 @@
ROOT := $(abspath ../../..)
CC = gcc
CFLAGS = -std=c11 -Wall -Wextra -D_GNU_SOURCE -flto -I$(ROOT)/include
BUILD = $(ROOT)/build/v4l2_ctrl
ROOT := $(abspath ../../..)
include $(ROOT)/common.mk
MODULE_BUILD = $(BUILD)/v4l2_ctrl
.PHONY: all clean
all: $(BUILD)/v4l2_ctrl.o
all: $(MODULE_BUILD)/v4l2_ctrl.o
$(BUILD)/v4l2_ctrl.o: v4l2_ctrl.c $(ROOT)/include/v4l2_ctrl.h $(ROOT)/include/error.h | $(BUILD)
$(MODULE_BUILD)/v4l2_ctrl.o: v4l2_ctrl.c $(ROOT)/include/v4l2_ctrl.h $(ROOT)/include/error.h | $(MODULE_BUILD)
$(CC) $(CFLAGS) -c -o $@ $<
$(BUILD):
$(MODULE_BUILD):
mkdir -p $@
clean:
rm -f $(BUILD)/v4l2_ctrl.o
rm -f $(MODULE_BUILD)/v4l2_ctrl.o