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.
 
 

53 lines
947 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 ifeq ($(STATIC),full)
LIBPATH = /usr/lib/$(SYS)
LDFLAGS += -static
LDLIBS = -pthread $(LIBPATH)/libsodium.a -lpthread -ldl
else
LDLIBS = -lcrypto -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