PSCrypto/pscrypto/Makefile

68 lines
1.2 KiB
Makefile
Raw Permalink Normal View History

include ../Makefile.inc
#### Sources
2016-04-22 01:45:12 +00:00
SRCS = pscrypto.cpp
OBJS := $(SRCS:.cpp=.o)
2016-07-26 22:54:49 +00:00
ifneq ($(findstring $(OS), cygwin mingw32),)
OBJS += resource.o
endif
#### Artifacts
OUT_NAME=pscrypto
LIB = $(call lib-name,$(OUT_NAME))
TEST = $(call exe-name,$(OUT_NAME))
2016-04-22 01:45:12 +00:00
#### Flags
CXXFLAGS := $(CFLAGS) -DBUILD_DLL -I../external/psf-cryptopp
LDFLAGS := -L../external/psf-cryptopp
2016-04-22 01:45:12 +00:00
# Handle OS compiler quirks
ifeq "$(OS)" "mingw32"
LDFLAGS := $(LDFLAGS) -static-libgcc -static-libstdc++
else ifeq "$(OS)" "cygwin"
LDFLAGS := $(LDFLAGS) -static-libgcc -static-libstdc++
else
CXXFLAGS := $(CXXFLAGS) -fPIC
endif
2016-04-22 01:45:12 +00:00
ifdef DEBUG
2016-07-26 02:17:27 +00:00
CXXFLAGS += -g -std=c++03
2016-04-22 01:45:12 +00:00
else
2016-07-26 02:17:27 +00:00
CXXFLAGS += -O2 -DNDEBUG -std=c++03
2016-04-22 01:45:12 +00:00
endif
LIB_FLAGS=$(LDFLAGS) -Wl,-soname=$(LIB)
LIBS=-lcryptopp
#### Recipes
all : $(OBJS) $(LIB)
test : all $(TEST)
./$(TEST)
2016-04-22 01:45:12 +00:00
%.o : %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
2016-07-26 22:54:49 +00:00
# For windows, create a resource section
resource.o : resource.rc
$(PREFIX)windres -i $< -o $@
2016-04-22 01:45:12 +00:00
$(LIB) : $(OBJS)
2016-07-26 22:54:49 +00:00
$(CXX) -shared $(OBJS) -o $(LIB) $(LIB_FLAGS) $(LIBS)
2016-04-22 01:45:12 +00:00
ifndef DEBUG
$(STRIP) $(LIB)
endif
$(TEST) : $(OBJS)
$(CXX) $(OBJS) -o $(TEST) $(LDFLAGS) $(LIBS)
ifndef DEBUG
$(STRIP) $(TEST)
endif
clean :
rm -f $(OBJS) $(LIB) $(TEST) *.pyc
.PHONY : all test clean