You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
811 B
49 lines
811 B
CXX := g++ |
|
SYS = $(shell $(CXX) -dumpmachine) |
|
|
|
STATIC := no |
|
DEBUG := no |
|
|
|
SYG_SRC = sygcpp.cpp |
|
SYGCPP = build/sygcpp |
|
|
|
ifeq ($(DEBUG),yes) |
|
CXXFLAGS := -g -Og |
|
LDFLAGS := -Og |
|
else |
|
CXXFLAGS := -O3 |
|
LDFLAGS := -s -O3 |
|
endif |
|
|
|
CXXFLAGS += -fPIC |
|
SYG_OBJS = $(patsubst %.cpp,obj/%.o,$(SYG_SRC)) |
|
|
|
ifneq (, $(findstring mingw, $(SYS))$(findstring cygwin, $(SYS))) |
|
include Makefile.mingw |
|
else |
|
ifeq ($(STATIC),yes) |
|
LIBPATH = /usr/lib/$(SYS) |
|
LDLIBS = -pthread $(LIBPATH)/libsodium.a -lpthread -ldl |
|
else |
|
LDLIBS = -lsodium -lpthread |
|
endif |
|
endif |
|
|
|
all: mk_obj_dir $(SYGCPP) |
|
|
|
mk_obj_dir: |
|
@mkdir -p obj/windows |
|
@mkdir -p build |
|
|
|
clean: |
|
$(RM) -r obj $(SYGCPP) |
|
|
|
obj/%.o: %.cpp |
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
|
|
|
$(SYGCPP): $(SYG_OBJS) |
|
$(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS) |
|
|
|
.PHONY: all |
|
.PHONY: clean |
|
.PHONY: mk_obj_dir
|
|
|