39 lines
980 B
Makefile
39 lines
980 B
Makefile
.PHONY: all clean format
|
|
|
|
all: lib/libauthunivorleans.so lib/libauthunivorleans.a bin/test
|
|
|
|
OPTIMISATION ?= 0
|
|
CFLAGS = -Iinclude $(DEFINES) `pkg-config --cflags libcurl` -fPIC -Wall -Werror
|
|
|
|
FLAGS = -g
|
|
|
|
SRCS=$(wildcard src/*.c)
|
|
OBJS=$(SRCS:src/%.c=obj/%.o)
|
|
DEPS = $(OBJS:%.o=%.d)
|
|
|
|
-include $(DEPS)
|
|
|
|
clean:
|
|
rm -fr bin/* obj/* lib/*
|
|
|
|
format:
|
|
clang-format src/*.c -i
|
|
clang-format include/*.h -i
|
|
|
|
CC ?= $(CC)
|
|
|
|
obj/%.o: src/%.c
|
|
@mkdir -p $(@D)
|
|
$(CC) -c -O$(OPTIMISATION) -MMD -g -o $@ $< $(CFLAGS) $(FLAGS)
|
|
|
|
lib/libauthunivorleans.so: obj/auth_univ_orleans.o obj/cookie_iterator.o
|
|
@mkdir -p $(@D)
|
|
$(CC) -fpic -shared -O$(OPTIMISATION) $(FLAGS) -flto -o $@ $^ `pkg-config --libs libcurl` `pkg-config --libs tidy`
|
|
|
|
lib/libauthunivorleans.a: obj/auth_univ_orleans.o obj/cookie_iterator.o
|
|
@mkdir -p $(@D)
|
|
$(AR) -cr $@ $^
|
|
|
|
bin/test: obj/test.o lib/libauthunivorleans.a
|
|
@mkdir -p $(@D)
|
|
$(CC) -g -O$(OPTIMISATION) -flto -o $@ $^ `pkg-config --libs libcurl` `pkg-config --libs tidy`
|