kore/Makefile

77 lines
1.6 KiB
Makefile
Raw Normal View History

2013-04-17 22:34:27 +02:00
# Kore Makefile
CC=gcc
2014-08-01 10:46:50 +02:00
KORE=kore
2014-07-03 21:38:16 +02:00
INSTALL_DIR=/usr/local/bin
INCLUDE_DIR=/usr/local/include/kore
2013-04-17 22:34:27 +02:00
S_SRC= src/kore.c src/accesslog.c src/auth.c src/buf.c src/cli.c src/config.c \
src/connection.c src/domain.c src/http.c src/mem.c src/module.c \
src/net.c src/pool.c src/spdy.c src/validator.c src/utils.c \
src/worker.c src/zlib_dict.c
2013-04-17 22:34:27 +02:00
S_OBJS= $(S_SRC:.c=.o)
CFLAGS+=-Wall -Wstrict-prototypes -Wmissing-prototypes
CFLAGS+=-Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual
CFLAGS+=-Wsign-compare -Iincludes -g
LDFLAGS+=-rdynamic -lssl -lcrypto -lz
2013-11-21 12:00:07 +01:00
ifneq ("$(DEBUG)", "")
CFLAGS+=-DKORE_DEBUG
endif
ifneq ("$(KORE_PEDANTIC_MALLOC)", "")
CFLAGS+=-DKORE_PEDANTIC_MALLOC
endif
ifneq ("$(BENCHMARK)", "")
CFLAGS+=-DKORE_BENCHMARK
LDFLAGS=-rdynamic -lz
endif
ifneq ("$(PGSQL)", "")
S_SRC+=src/pgsql.c
2014-04-02 00:06:24 +02:00
LDFLAGS+=-L$(shell pg_config --libdir) -lpq
CFLAGS+=-I$(shell pg_config --includedir) -DKORE_USE_PGSQL
endif
ifneq ("$(TASKS)", "")
S_SRC+=src/tasks.c
LDFLAGS+=-lpthread
CFLAGS+=-DKORE_USE_TASKS
endif
OSNAME=$(shell uname -s | sed -e 's/[-_].*//g' | tr A-Z a-z)
ifeq ("$(OSNAME)", "darwin")
CFLAGS+=-I/opt/local/include/
LDFLAGS+=-L/opt/local/lib
S_SRC+=src/bsd.c
else ifeq ("$(OSNAME)", "linux")
CFLAGS+=-D_GNU_SOURCE=1
LDFLAGS+=-ldl
S_SRC+=src/linux.c
else
S_SRC+=src/bsd.c
endif
all: $(S_OBJS)
2014-08-02 13:01:58 +02:00
$(CC) $(S_OBJS) $(LDFLAGS) -o $(KORE)
2013-04-17 22:34:27 +02:00
2014-07-03 21:38:16 +02:00
install:
mkdir -p $(INCLUDE_DIR)
2014-08-01 10:46:50 +02:00
install -m 555 $(KORE) $(INSTALL_DIR)/$(KORE)
install -m 644 includes/*.h $(INCLUDE_DIR)
2014-07-03 21:38:16 +02:00
uninstall:
2014-08-01 10:46:50 +02:00
rm -f $(INSTALL_DIR)/$(KORE)
rm -rf $(INCLUDE_DIR)
2014-07-03 21:38:16 +02:00
.c.o:
2013-04-17 22:34:27 +02:00
$(CC) $(CFLAGS) -c $< -o $@
clean:
find . -type f -name \*.o -exec rm {} \;
rm -f $(KORE)
.PHONY: clean