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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user