Makefile 853 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. CXX := g++
  2. SYS = $(shell $(CXX) -dumpmachine)
  3. STATIC := no
  4. DEBUG := no
  5. SYG_SRC = sygcpp.cpp x25519.cpp
  6. SYGCPP = build/sygcpp
  7. ifeq ($(DEBUG),yes)
  8. CXXFLAGS := -g -Og
  9. LDFLAGS := -Og
  10. else
  11. CXXFLAGS := -O3 -march=core2
  12. LDFLAGS := -s -O3
  13. endif
  14. CXXFLAGS += -fPIC
  15. SYG_OBJS = $(patsubst %.cpp,obj/%.o,$(SYG_SRC))
  16. ifneq (, $(findstring mingw, $(SYS))$(findstring cygwin, $(SYS)))
  17. include Makefile.mingw
  18. else
  19. ifeq ($(STATIC),yes)
  20. LIBPATH = /usr/lib/$(SYS)
  21. LDLIBS = -pthread $(LIBPATH)/libsodium.a -lpthread -ldl
  22. else
  23. LDLIBS = -lsodium -lpthread
  24. endif
  25. endif
  26. all: mk_obj_dir $(SYGCPP)
  27. mk_obj_dir:
  28. @mkdir -p obj/windows
  29. @mkdir -p build
  30. clean:
  31. $(RM) -r obj $(SYGCPP)
  32. obj/%.o: %.cpp
  33. $(CXX) -c $(CXXFLAGS) $< -o $@
  34. $(SYGCPP): $(SYG_OBJS)
  35. $(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS) x25519-x86_64.obj
  36. .PHONY: all
  37. .PHONY: clean
  38. .PHONY: mk_obj_dir