diff options
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/Makefile | 46 | ||||
m--------- | daemon/include/concurrentqueue | 0 | ||||
-rw-r--r-- | daemon/src/main.cpp | 8 |
3 files changed, 54 insertions, 0 deletions
diff --git a/daemon/Makefile b/daemon/Makefile new file mode 100644 index 0000000..e38108f --- /dev/null +++ b/daemon/Makefile @@ -0,0 +1,46 @@ +TARGET_EXEC := midi-router-daemon + +BUILD_DIR := ./build +SRC_DIRS := ./src + +# Find all the C++ files we want to compile +# Note the single quotes around the * expressions. The shell will incorrectly expand these otherwise, but we want to send the * directly to the find command. +SRCS := $(shell find $(SRC_DIRS) -name '*.cpp') + +# Prepends BUILD_DIR and appends .o to every src file +# As an example, ./your_dir/hello.cpp turns into ./build/./your_dir/hello.cpp.o +OBJS := $(SRCS:%=$(BUILD_DIR)/%.o) + +# String substitution (suffix version without %). +# As an example, ./build/hello.cpp.o turns into ./build/hello.cpp.d +DEPS := $(OBJS:.o=.d) + +# Every folder in ./src will need to be passed to GCC so that it can find header files +INC_DIRS := $(shell find $(SRC_DIRS) -type d) ./include +# Add a prefix to INC_DIRS. So moduleA would become -ImoduleA. GCC understands this -I flag +INC_FLAGS := $(addprefix -I,$(INC_DIRS)) + +# The -MMD and -MP flags together generate Makefiles for us! +# These files will have .d instead of .o as the output. +CPPFLAGS := -O3 -std=c++23 $(INC_FLAGS) -MMD -MP + +LDFLAGS := -lrtmidi + +# The final build step. +$(BUILD_DIR)/$(TARGET_EXEC): $(OBJS) + $(CXX) $(OBJS) -o $@ $(LDFLAGS) + +# Build step for C++ source +$(BUILD_DIR)/%.cpp.o: %.cpp + mkdir -p $(dir $@) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ + + +.PHONY: clean +clean: + rm -r $(BUILD_DIR) + +# Include the .d makefiles. The - at the front suppresses the errors of missing +# Makefiles. Initially, all the .d files will be missing, and we don't want those +# errors to show up. +-include $(DEPS) diff --git a/daemon/include/concurrentqueue b/daemon/include/concurrentqueue new file mode 160000 +Subproject 6dd38b8a1dbaa7863aa907045f32308a56a6ff5 diff --git a/daemon/src/main.cpp b/daemon/src/main.cpp new file mode 100644 index 0000000..68d0a96 --- /dev/null +++ b/daemon/src/main.cpp @@ -0,0 +1,8 @@ +#include <iostream> +#include <rtmidi/RtMidi.h> +#include "concurrentqueue/blockingconcurrentqueue.h" + +int main() +{ + std::cout << "Hello, world\n"; +} |