Added libmpdclient and basic fifo sync code
This commit is contained in:
25
Makefile
25
Makefile
@ -14,7 +14,7 @@ clean:
|
||||
@echo ""
|
||||
|
||||
|
||||
libs: $(BUILD_DIR)/hid.o
|
||||
libs: $(BUILD_DIR)/hid.o $(BUILD_DIR)/libmpdclient.o
|
||||
|
||||
.PHONY: clean all run libs
|
||||
|
||||
@ -26,7 +26,9 @@ CPPFLAGS := -MMD -MP \
|
||||
-Wall \
|
||||
-I src \
|
||||
-I libs/hidapi/hidapi \
|
||||
-I libs/spdlog/include
|
||||
-I libs/spdlog/include \
|
||||
-I libs/libmpdclient/include \
|
||||
-I libs/libmpdclient/output
|
||||
|
||||
# udev: required by hidapi
|
||||
LDFLAGS := -l fftw3 -l udev
|
||||
@ -35,7 +37,7 @@ LDFLAGS := -l fftw3 -l udev
|
||||
SRCS := $(shell find $(SRC_DIRS) -name '*.cpp')
|
||||
# Turns src/a.cpp into build/src/a.cpp.o
|
||||
SRC_OBJS := $(SRCS:%=$(BUILD_DIR)/%.o)
|
||||
LIB_OBJS := $(BUILD_DIR)/hid.o
|
||||
LIB_OBJS := $(BUILD_DIR)/hid.o $(BUILD_DIR)/libmpdclient.o
|
||||
OBJS = $(SRC_OBJS) $(LIB_OBJS)
|
||||
# Turns build/a.cpp.o into build/a.cpp.d
|
||||
DEPS := $(OBJS:.o=.d)
|
||||
@ -47,19 +49,26 @@ DEPS := $(OBJS:.o=.d)
|
||||
### Libraries
|
||||
|
||||
# Build hidapi
|
||||
HIDAPI_PATH := libs/hidapi
|
||||
$(BUILD_DIR)/hid.o:
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
|
||||
@echo "Compiling hid.o"
|
||||
@gcc -Wall -g -fpic -c \
|
||||
-I $(HIDAPI_PATH)/hidapi \
|
||||
-I libs/hidapi/hidapi \
|
||||
`pkg-config libusb-1.0 --cflags` \
|
||||
\
|
||||
$(HIDAPI_PATH)/linux/hid.c \
|
||||
libs/hidapi/linux/hid.c \
|
||||
-o $(BUILD_DIR)/hid.o
|
||||
|
||||
|
||||
# Build libmpdclient
|
||||
$(BUILD_DIR)/libmpdclient.o:
|
||||
@cd libs/libmpdclient && \
|
||||
meson . output && \
|
||||
ninja -C output
|
||||
|
||||
ln -s ../libs/libmpdclient/output/libmpdclient.so $(BUILD_DIR)/libmpdclient.o
|
||||
|
||||
|
||||
### Source
|
||||
|
||||
# C++ build step
|
||||
@ -72,7 +81,5 @@ $(BUILD_DIR)/%.cpp.o: %.cpp
|
||||
$(TARGET_EXEC) : $(OBJS)
|
||||
g++ $(OBJS) -o $@ $(LDFLAGS)
|
||||
|
||||
|
||||
|
||||
# Include generated makefiles
|
||||
-include $(DEPS)
|
Reference in New Issue
Block a user