From b27474444b4c5ec6bcfc44a2b1bda280ad0bd66b Mon Sep 17 00:00:00 2001 From: Hu Jialun Date: Fri, 23 Jul 2021 10:18:59 +0800 Subject: [PATCH] Use submodules for dependencies --- .gitmodules | 6 ++++++ external/ciglet | 1 + external/liblrhsmm | 1 + makefile | 17 +++++++++++++++-- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 .gitmodules create mode 160000 external/ciglet create mode 160000 external/liblrhsmm diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..9975bf4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "ciglet"] + path = external/ciglet + url = ../ciglet.git +[submodule "liblrhsmm"] + path = external/liblrhsmm + url = ../liblrhsmm.git diff --git a/external/ciglet b/external/ciglet new file mode 160000 index 0000000..895ba9b --- /dev/null +++ b/external/ciglet @@ -0,0 +1 @@ +Subproject commit 895ba9b1c0eabee83d3544208bbc82420efa3206 diff --git a/external/liblrhsmm b/external/liblrhsmm new file mode 160000 index 0000000..1df92da --- /dev/null +++ b/external/liblrhsmm @@ -0,0 +1 @@ +Subproject commit 1df92da4b77377f4725509e7240a9107ed4c063b diff --git a/makefile b/makefile index 64f074c..eee3531 100644 --- a/makefile +++ b/makefile @@ -5,11 +5,13 @@ AR = $(CROSS)ar CFLAGS = -DFP_TYPE=float -Ofast -g -mtune=native -std=c99 -Wall -fPIC -lm $(CFLAGSEXT) ARFLAGS = -rv OUT_DIR = ./build -OBJS = $(OUT_DIR)/ciglet.o $(OUT_DIR)/cJSON.o +OBJS = $(OUT_DIR)/ciglet.o $(OUT_DIR)/cJSON.o $(OUT_DIR)/liblrhsmm.a LIBS = -lm -Lexternal/liblrhsmm/build -llrhsmm TARGETS = shiro-mkhsmm shiro-init shiro-rest shiro-align shiro-untie \ shiro-wav2raw shiro-xxcc +.PHONY: default clean distclean + default: $(TARGETS) shiro-mkhsmm: shiro-mkhsmm.c cli-common.h $(OBJS) @@ -34,15 +36,26 @@ shiro-xxcc: shiro-xxcc.c $(OBJS) $(LINK) shiro-xxcc.c $(OBJS) $(CFLAGS) $(LIBS) -o shiro-xxcc $(OUT_DIR)/ciglet.o: - $(CC) $(CFLAGS) -o $(OUT_DIR)/ciglet.o -c external/ciglet/ciglet.c + $(MAKE) -C external/ciglet single-file + @mkdir -p $(OUT_DIR) + $(CC) $(CFLAGS) -o $(OUT_DIR)/ciglet.o -c external/ciglet/single-file/ciglet.c $(OUT_DIR)/cJSON.o: + @mkdir -p $(OUT_DIR) $(CC) $(CFLAGS) -o $(OUT_DIR)/cJSON.o -c external/cJSON/cJSON.c +$(OUT_DIR)/liblrhsmm.a: + @mkdir -p $(OUT_DIR) + $(MAKE) -C external/liblrhsmm OUT_DIR=$(realpath $(OUT_DIR)) + $(OUT_DIR)/%.o : %.c + @mkdir -p $(OUT_DIR) $(CC) $(CFLAGS) -o $(OUT_DIR)/$*.o -c $*.c clean: @echo 'Removing all temporary binaries...' @rm -f $(OUT_DIR)/*.o $(TARGETS) @echo Done. + +distclean: + @rm -rf $(OUT_DIR) $(TARGETS)