2019-03-02 20:29:56 +00:00
|
|
|
CC = gcc
|
2019-03-11 13:44:43 +00:00
|
|
|
CFLAGS = -std=c99 -Wall -D_POSIX_C_SOURCE=201112L -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -static -g
|
2019-03-02 20:29:56 +00:00
|
|
|
LD = gcc
|
2021-05-05 21:11:00 +00:00
|
|
|
LDFLAGS = -pthread -lrt
|
2021-04-28 18:10:57 +00:00
|
|
|
AR = ar
|
|
|
|
ARFLAGS = rcs
|
2019-03-02 20:29:56 +00:00
|
|
|
|
|
|
|
BIN_NAME = cfloor
|
2021-04-28 18:10:57 +00:00
|
|
|
LIB_NAME = libcfloor.a
|
2019-03-02 20:29:56 +00:00
|
|
|
|
2019-03-12 16:34:56 +00:00
|
|
|
OBJS = obj/networking.o obj/linked.o obj/logging.o obj/signals.o obj/headers.o obj/misc.o obj/status.o obj/files.o obj/mime.o obj/cgi.o obj/util.o obj/ssl.o obj/config.o
|
2019-03-05 22:32:43 +00:00
|
|
|
DEPS = $(OBJS:%.o=%.d)
|
|
|
|
|
2021-04-28 18:10:57 +00:00
|
|
|
all: $(BIN_NAME) $(LIB_NAME) test
|
2019-03-02 20:29:56 +00:00
|
|
|
|
2019-03-10 22:15:12 +00:00
|
|
|
ssl: CFLAGS += -DSSL_SUPPORT -Icrypto
|
2019-03-11 13:44:43 +00:00
|
|
|
ssl: LDFLAGS += -lcrypto -lssl
|
2019-03-13 12:48:06 +00:00
|
|
|
ssl: obj/ssl.o $(BIN_NAME) test
|
2019-03-10 22:15:12 +00:00
|
|
|
|
2019-03-05 22:32:43 +00:00
|
|
|
$(BIN_NAME): obj/main.o $(OBJS)
|
2019-03-03 22:08:51 +00:00
|
|
|
$(LD) $(LDFLAGS) -o $@ $^
|
|
|
|
|
2021-04-28 18:10:57 +00:00
|
|
|
$(LIB_NAME): CFLAGS += -fPIC
|
|
|
|
$(LIB_NAME): $(OBJS)
|
|
|
|
$(AR) $(ARFLAGS) $@ $^
|
|
|
|
|
2019-03-05 22:32:43 +00:00
|
|
|
test: obj/test.o $(OBJS)
|
2019-03-03 00:20:47 +00:00
|
|
|
$(LD) $(LDFLAGS) -o $@ $^
|
2019-03-03 22:08:51 +00:00
|
|
|
|
2019-03-03 11:11:44 +00:00
|
|
|
valgrind: CFLAGS += -static -g
|
|
|
|
valgrind: clean test
|
2019-03-03 10:35:58 +00:00
|
|
|
valgrind --leak-check=yes ./test
|
2019-03-02 20:29:56 +00:00
|
|
|
|
2019-03-05 22:32:43 +00:00
|
|
|
-include $(DEPS)
|
2019-03-02 20:29:56 +00:00
|
|
|
|
2019-03-13 16:39:16 +00:00
|
|
|
obj/%.o: src/%.c obj
|
2019-03-05 22:32:43 +00:00
|
|
|
$(CC) $(CFLAGS) -MMD -c -o $@ $<
|
2019-03-02 20:29:56 +00:00
|
|
|
|
|
|
|
obj:
|
|
|
|
@mkdir -p obj
|
|
|
|
|
|
|
|
clean:
|
|
|
|
@echo "Cleaning up..."
|
|
|
|
@rm -f obj/*.o
|
2019-03-05 22:32:43 +00:00
|
|
|
@rm -f obj/*.d
|
2019-03-02 20:29:56 +00:00
|
|
|
@rm -f test
|
|
|
|
@rm -f $(BIN_NAME)
|
2021-04-28 18:10:57 +00:00
|
|
|
@rm -f $(LIB_NAME)
|