Skip to content

Commit 361a2a9

Browse files
fixed makefile config
1 parent 67545ef commit 361a2a9

File tree

1 file changed

+29
-13
lines changed

1 file changed

+29
-13
lines changed

Makefile

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
.PHONY: all clean
21
COMPILER_PATH = $(HOME)/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin
32
SDK = $(HOME)/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/tools/sdk
43
CC = $(COMPILER_PATH)/xtensa-esp32-elf-gcc
@@ -43,6 +42,7 @@ LO_FLAGS = -include $(COMPAT_INCLUDE)/compat.h -I$(LO_INCLUDE) -I$(COMPAT_INCLUD
4342
LO_SRCS = address.c blob.c bundle.c message.c method.c pattern_match.c send.c server.c server_thread.c timetag.c version.c
4443
LO_OBJ = $(LO_SRCS:.c=.o)
4544
LO_OBJ_DIR = $(BUILD_DIR)/liblo
45+
LO_CONFIGURED = $(shell [ -f liblo/config.h ] && echo "TRUE" || echo "FALSE")
4646

4747
$(LO_OBJ_DIR)/%.o: $(LO)/%.c
4848
@mkdir -p $(LO_OBJ_DIR)
@@ -55,34 +55,50 @@ MAPPER_FLAGS = -DDEBUG -I$(COMPAT_INCLUDE) -I$(ZLIB_INCLUDE) -I$(LO_INCLUDE) -I$
5555
MAPPER_SRCS = database.c device.c expression.c link.c list.c map.c network.c properties.c router.c signal.c slot.c table.c timetag.c
5656
MAPPER_OBJ = $(MAPPER_SRCS:.c=.o)
5757
MAPPER_OBJ_DIR = $(BUILD_DIR)/libmapper
58+
MAPPER_CONFIGURED = $(shell [ -f libmapper/src/config.h ] && echo "TRUE" || echo "FALSE")
5859

5960
$(MAPPER_OBJ_DIR)/%.o: $(MAPPER)/%.c
6061
@mkdir -p $(MAPPER_OBJ_DIR)
6162
@echo Building $<
6263
@$(CC) $(CFLAGS) $(MAPPER_FLAGS) $< -o $@
6364

64-
pre-build:
65-
@mkdir -p $(OUTPUT_LIB_DIR)
66-
@echo Configuring liblo
67-
cd liblo
68-
@./autogen.sh
69-
@echo Configuring libmapper
70-
cd ../libmapper
71-
@libmapper/autogen.sh
72-
73-
all: pre-build $(addprefix $(MAPPER_OBJ_DIR)/,$(MAPPER_OBJ)) $(addprefix $(LO_OBJ_DIR)/,$(LO_OBJ)) $(addprefix $(COMPAT_OBJ_DIR)/,$(COMPAT_OBJ)) $(addprefix $(ZLIB_OBJ_DIR)/,$(ZLIB_OBJ))
74-
@$(AR) cru $(OUTPUT_LIB_DIR)/libmapper.a $^
75-
@echo Linking $(OUTPUT_LIB_DIR)/libmapper.a
65+
.PHONY: all
66+
all: configure-liblo configure-libmapper libmapper_arduino
7667
cp library.properties $(OUTPUT_DIR)/library.properties
7768
cp mapper.h $(OUTPUT_SRC_DIR)/mapper.h
7869
mkdir -p $(OUTPUT_SRC_DIR)/mapper
7970
find $(MAPPER_INCLUDE)/mapper -name "*.h" -exec cp -prv {} $(OUTPUT_SRC_DIR)/mapper/ ";"
8071
mkdir -p $(OUTPUT_SRC_DIR)/lo
8172
find $(LO_INCLUDE)/lo -name "*.h" -exec cp -prv {} $(OUTPUT_SRC_DIR)/lo/ ";"
8273

74+
.PHONY: configure-liblo
75+
configure-liblo:
76+
ifeq ($(LO_CONFIGURED), TRUE)
77+
@echo liblo: config.h was found
78+
else
79+
@echo Configuring liblo
80+
@cd liblo && ./autogen.sh
81+
endif
82+
83+
.PHONY: configure-libmapper
84+
configure-libmapper:
85+
ifeq ($(MAPPER_CONFIGURED), TRUE)
86+
@echo libmapper: config.h was found
87+
else
88+
@echo Configuring libmapper
89+
@cd libmapper && ./autogen.sh
90+
endif
91+
92+
libmapper_arduino: $(addprefix $(MAPPER_OBJ_DIR)/,$(MAPPER_OBJ)) $(addprefix $(LO_OBJ_DIR)/,$(LO_OBJ)) $(addprefix $(COMPAT_OBJ_DIR)/,$(COMPAT_OBJ)) $(addprefix $(ZLIB_OBJ_DIR)/,$(ZLIB_OBJ))
93+
@mkdir -p $(OUTPUT_LIB_DIR)
94+
@$(AR) cru $(OUTPUT_LIB_DIR)/libmapper.a $^
95+
@echo Linking $(OUTPUT_LIB_DIR)/libmapper.a
96+
97+
.PHONY: install
8398
install:
8499
mkdir -p ~/Documents/Arduino/libraries/libmapper
85100
cp -R $(OUTPUT_DIR)/. ~/Documents/Arduino/libraries/libmapper
86101

102+
.PHONY: clean
87103
clean:
88104
rm -rf $(BUILD_DIR)

0 commit comments

Comments
 (0)