ROOT := $(abspath ../..) CC = gcc CFLAGS = -std=c11 -Wall -Wextra -D_GNU_SOURCE -flto -I$(ROOT)/include BUILD = $(ROOT)/build COMMON_OBJ = $(BUILD)/common/error.o MEDIA_CTRL_OBJ = $(BUILD)/media_ctrl/media_ctrl.o V4L2_CTRL_OBJ = $(BUILD)/v4l2_ctrl/v4l2_ctrl.o .PHONY: all clean modules all: modules $(BUILD)/cli/media_ctrl_cli $(BUILD)/cli/v4l2_ctrl_cli modules: $(MAKE) -C $(ROOT)/src/modules/common $(MAKE) -C $(ROOT)/src/modules/media_ctrl $(MAKE) -C $(ROOT)/src/modules/v4l2_ctrl $(BUILD)/cli/media_ctrl_cli: media_ctrl_cli.c $(COMMON_OBJ) $(MEDIA_CTRL_OBJ) | $(BUILD)/cli $(CC) $(CFLAGS) -o $@ $^ $(BUILD)/cli/v4l2_ctrl_cli: v4l2_ctrl_cli.c $(COMMON_OBJ) $(V4L2_CTRL_OBJ) | $(BUILD)/cli $(CC) $(CFLAGS) -o $@ $^ $(BUILD)/cli: mkdir -p $@ clean: rm -f $(BUILD)/cli/media_ctrl_cli $(BUILD)/cli/v4l2_ctrl_cli