# Source files
SRCDIR = ./
TOOLS_DIR = tools
OUT_DIR ?= .
LDFLAGS += -L $(OUT_DIR)/

# Source files
SRCS = $(wildcard $(SRCDIR)/*.c)
OBJS = $(patsubst $(SRCDIR)/%.c,$(OUT_DIR)/%.o,$(SRCS))
TOOLS_SRCS = $(wildcard $(TOOLS_DIR)/*.c)
TOOLS_OBJS = $(patsubst $(TOOLS_DIR)/%.c,$(OUT_DIR)/%.o,$(TOOLS_SRCS))

# Target
TARGET = aml_btmgr

# Build rules
all: $(TARGET) $(OUT_DIR)/input_simulator $(OUT_DIR)/jsonrpc_client_test

$(TARGET): $(OBJS)
	$(CC) $(OBJS) $(LDFLAGS) -o $(OUT_DIR)/$@

$(OUT_DIR)/input_simulator: $(OUT_DIR)/input_simulator.o
	$(CC) $^ $(LDFLAGS) -o $@

$(OUT_DIR)/jsonrpc_client_test: $(OUT_DIR)/jsonrpc_client_test.o
	$(CC) $^ $(LDFLAGS) -o $@

$(OUT_DIR)/%.o: $(SRCDIR)/%.c
	$(CC) $(CFLAGS) -c $< -o $@

$(OUT_DIR)/%.o: $(TOOLS_DIR)/%.c
	$(CC) $(CFLAGS) -c $< -o $@

# Clean
clean:
	rm -f $(OUT_DIR)/*.o $(OUT_DIR)/$(TARGET) $(OUT_DIR)/*.o $(OUT_DIR)/input_simulator $(OUT_DIR)/jsonrpc_client_test

.PHONY: all clean
