|
@@ -1,8 +1,8 @@
|
|
|
CC = clang
|
|
|
-CFLAGS = -Wall -Wextra -Werror
|
|
|
-LIBS = -luv
|
|
|
+CFLAGS = -Wall -Wextra -Werror -Iextern/BearSSL/inc -Iextern/libuv/include
|
|
|
SRC = $(wildcard src/*.c)
|
|
|
OBJ = $(patsubst src/%.c, obj/%.o, $(SRC))
|
|
|
+LIBRARIES = lib/libbearssl.a lib/libuv.a
|
|
|
|
|
|
ifneq "$(findstring debug, $(MAKECMDGOALS))" ""
|
|
|
CFLAGS += -g -fno-omit-frame-pointer -fsanitize=address
|
|
@@ -10,8 +10,8 @@ else
|
|
|
CFLAGS += -O3
|
|
|
endif
|
|
|
|
|
|
-soulmate: $(OBJ)
|
|
|
- $(CC) -o $@ $^ $(CFLAGS) $(LIBS)
|
|
|
+soulmate: $(LIBRARIES) $(OBJ)
|
|
|
+ $(CC) -o $@ $^ $(CFLAGS) -Llib -luv -lbearssl
|
|
|
|
|
|
obj/%.o: src/%.c
|
|
|
@mkdir -p obj
|
|
@@ -19,8 +19,19 @@ obj/%.o: src/%.c
|
|
|
|
|
|
debug: soulmate
|
|
|
|
|
|
+lib/libbearssl.a:
|
|
|
+ mkdir -p lib
|
|
|
+ $(MAKE) -C extern/BearSSL
|
|
|
+ cp extern/BearSSL/build/libbearssl.a lib/
|
|
|
+
|
|
|
+lib/libuv.a:
|
|
|
+ mkdir -p lib
|
|
|
+ cd extern/libuv && sh autogen.sh && ./configure
|
|
|
+ $(MAKE) -C extern/libuv
|
|
|
+ cp extern/libuv/.libs/libuv.so.1.0.0 lib/libuv.a
|
|
|
+
|
|
|
.PHONY: clean
|
|
|
|
|
|
clean:
|
|
|
- rm -rf obj
|
|
|
+ rm -rf obj lib
|
|
|
rm -f soulmate
|