ROOT := $(abspath ../..) include $(ROOT)/common.mk CLI_BUILD = $(BUILD)/cli COMMON_OBJ = $(BUILD)/common/error.o MEDIA_CTRL_OBJ = $(BUILD)/media_ctrl/media_ctrl.o V4L2_CTRL_OBJ = $(BUILD)/v4l2_ctrl/v4l2_ctrl.o SERIAL_OBJ = $(BUILD)/serial/serial.o TRANSPORT_OBJ = $(BUILD)/transport/transport.o DISCOVERY_OBJ = $(BUILD)/discovery/discovery.o CONFIG_OBJ = $(BUILD)/config/config.o .PHONY: all clean modules all: modules \ $(CLI_BUILD)/media_ctrl_cli \ $(CLI_BUILD)/v4l2_ctrl_cli \ $(CLI_BUILD)/transport_cli \ $(CLI_BUILD)/discovery_cli \ $(CLI_BUILD)/config_cli modules: $(MAKE) -C $(ROOT)/src/modules/common $(MAKE) -C $(ROOT)/src/modules/media_ctrl $(MAKE) -C $(ROOT)/src/modules/v4l2_ctrl $(MAKE) -C $(ROOT)/src/modules/serial $(MAKE) -C $(ROOT)/src/modules/transport $(MAKE) -C $(ROOT)/src/modules/discovery $(MAKE) -C $(ROOT)/src/modules/config $(CLI_BUILD)/media_ctrl_cli: media_ctrl_cli.c $(COMMON_OBJ) $(MEDIA_CTRL_OBJ) | $(CLI_BUILD) $(CC) $(CFLAGS) -o $@ $^ $(CLI_BUILD)/v4l2_ctrl_cli: v4l2_ctrl_cli.c $(COMMON_OBJ) $(V4L2_CTRL_OBJ) | $(CLI_BUILD) $(CC) $(CFLAGS) -o $@ $^ $(CLI_BUILD)/transport_cli: transport_cli.c $(COMMON_OBJ) $(SERIAL_OBJ) $(TRANSPORT_OBJ) | $(CLI_BUILD) $(CC) $(CFLAGS) -o $@ $^ -lpthread $(CLI_BUILD)/discovery_cli: discovery_cli.c $(COMMON_OBJ) $(SERIAL_OBJ) $(DISCOVERY_OBJ) | $(CLI_BUILD) $(CC) $(CFLAGS) -o $@ $^ -lpthread $(CLI_BUILD)/config_cli: config_cli.c $(COMMON_OBJ) $(CONFIG_OBJ) | $(CLI_BUILD) $(CC) $(CFLAGS) -o $@ $^ $(CLI_BUILD): mkdir -p $@ clean: rm -f \ $(CLI_BUILD)/media_ctrl_cli \ $(CLI_BUILD)/v4l2_ctrl_cli \ $(CLI_BUILD)/transport_cli \ $(CLI_BUILD)/discovery_cli \ $(CLI_BUILD)/config_cli