Archived
1
0
This repository has been archived on 2023-08-12. You can view files and clone it, but cannot push or open issues or pull requests.

55 lines
1.1 KiB
Makefile
Raw Normal View History

2016-10-15 09:12:01 -04:00
2017-04-14 06:24:53 -04:00
REPO=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
SRC_PATH = $(REPO)/src
2016-10-15 09:12:01 -04:00
SOURCES := $(wildcard $(SRC_PATH)/*.cpp)
HEADERS := $(wildcard $(SRC_PATH)/*.hpp)
OBJECTS := $(SOURCES:.cpp=.o)
2017-05-03 11:37:09 -04:00
TOOL_SRC_PATH := $(REPO)/tools
TOOL_SRC := $(wildcard $(TOOL_SRC_PATH)/*.cpp)
TOOLS := $(TOOL_SRC:.cpp=)
DAEMON_SRC = $(REPO)/daemon
2016-10-15 12:37:59 -04:00
PKGS := libuv libsodium
2016-10-15 09:12:01 -04:00
LD_FLAGS := $(shell pkg-config --libs $(PKGS))
2017-04-14 06:24:53 -04:00
INC_FLAGS := $(shell pkg-config --cflags $(PKGS)) -I $(REPO)/src
2017-05-03 11:37:09 -04:00
CXXFLAGS := -std=c++11 -Wall -Wextra $(INC_FLAGS)
2016-10-15 12:37:59 -04:00
2017-05-03 11:37:09 -04:00
ifeq ($(DEBUG),1)
CXXFLAGS += -g
endif
2016-10-15 09:12:01 -04:00
2017-05-03 11:37:09 -04:00
LIB = $(REPO)/libnntpchan.a
EXE = $(REPO)/nntpd
all: $(EXE) $(TOOLS)
2016-10-15 09:12:01 -04:00
2017-05-03 08:09:23 -04:00
$(LIB): $(OBJECTS)
2017-05-03 11:01:32 -04:00
$(AR) -r $(LIB) $(OBJECTS)
2017-05-03 08:09:23 -04:00
$(EXE): $(LIB)
2017-05-03 11:37:09 -04:00
$(CXX) $(CXXFLAGS) $(DAEMON_SRC)/main.cpp $(LIB) $(LD_FLAGS) -o $(EXE)
$(TOOL_SRC): $(LIB)
2016-10-15 09:12:01 -04:00
2017-05-03 11:37:09 -04:00
$(TOOLS): $(TOOL_SRC)
$(CXX) $(CXXFLAGS) $< $(LIB) $(LD_FLAGS) -o $@
2016-10-15 09:12:01 -04:00
2017-05-03 08:09:23 -04:00
build-test: $(LIB)
2017-09-24 08:18:56 -04:00
$(CXX) -o $(REPO)/test $(CXXFLAGS) test.cpp $(LIB) $(LD_FLAGS)
2016-10-18 08:17:40 -04:00
test: build-test
2017-09-24 08:18:56 -04:00
$(REPO)/test
2016-10-18 08:17:40 -04:00
2016-10-15 09:12:01 -04:00
%.o: src/%.cpp
2017-04-14 06:24:53 -04:00
$(CXX) $(CXXFLAGS) -c -o $@
2016-10-15 09:12:01 -04:00
clean:
2017-05-03 11:37:09 -04:00
rm -f $(OBJECTS) $(LIB) $(EXE) $(TOOLS)