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.
 
 
 
 
 
 

138 lines
3.7 KiB

###############################################################################
# crypto++ library makefile
# "sparc-solaris.mak"
#
# Use the targets 'debug' and 'release' to build this library.
# Be sure to 'make clean' when switching between debug and release modes.
#
#
# include a null char so VSS treats this as a binary file --> " #"
#
# -----------------------------------------------------------------
# ----------------- BEGIN CONFIGURABLE DEFINES --------------------
# ---------------------------
# --- Makefile --------------
# ---------------------------
# Change this if the name of this makefile changes, i.e. when porting
SYSPRE = sparc-solaris
MAKEFILE = $(SYSPRE).mak
# ---------------------------
# --- Program definitions ---
# ---------------------------
#
CC = g++
CXX = $(CC)
AR = ar crv
RANLIB = ranlib
# ----------------------------
# --- Platform definitions ---
# ----------------------------
SOLARIS_SPARC = -D_SOLARIS -D_UNIX -D_SPARC -D_GCC
# Set platform to one of the above definitions
PLATFORM = $(SOLARIS_SPARC)
DEBUG_FLAGS = -g -D_DEBUG
NDEBUG_FLAGS = -DNDEBUG
OFLAGS =
MAKE_FLAGS = -M
# Note: D_FLAGS will be set in the "debug" or "release" target
D_FLAGS = !!!ERROR!!!
LD_FLAGS = !!!ERROR!!!
# ----------------------
# --- Compiler flags ---
# ----------------------
# The crypto++ web page says that 3.2 builds properly with gcc 2.95.2 (without any STL help), so
# linking with STLport here is probably unnecessary. We haven't tested it though, so
# we'll leave it the way it is for now.
CXXFLAGS = $(PLATFORM) $(D_FLAGS) -w -I../STLport-4.0/stlport
DEBUG_LDFLAGS = -L../../lib/$(SYSPRE)_d -lstlport_gcc
NDEBUG_LDFLAGS = -L../../lib/$(SYSPRE)_r -lstlport_gcc
# ----------------- END OF CONFIGURABLE DEFINES --------------------
# ------------------------------------------------------------------
SRCS = $(wildcard *.cpp)
OBJS = $(SRCS:.cpp=.o)
TESTOBJS = test.o bench.o validat1.o validat2.o validat3.o
LIBOBJS = $(filter-out $(TESTOBJS), $(OBJS))
###############################################################################
# Debug/Release targets
#
# Recusively call make defining the appropriate $(D_FLAGS) var
debug:
gmake -f $(MAKEFILE) cryptlib_d.a "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS"
# gmake -f $(MAKEFILE) cryptest_d "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS"
release:
gmake -f $(MAKEFILE) cryptlib.a "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS"
# gmake -f $(MAKEFILE) cryptest "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS"
###############################################################################
# make cryptlib.a
cryptlib.a: $(LIBOBJS)
- rm -f $@
$(AR) $@ $(LIBOBJS)
cryptlib_d.a: $(LIBOBJS)
- rm -f $@
$(AR) $@ $(LIBOBJS)
###############################################################################
# make crypttest
cryptest: $(TESTOBJS) cryptlib.a
$(CXX) -o $@ $(NDEBUG_FLAGS) $(TESTOBJS) cryptlib.a $(NDEBUG_LDFLAGS) -lm
cryptest_d: $(TESTOBJS) cryptlib_d.a
$(CXX) -o $@ $(DEBUG_FLAGS) $(TESTOBJS) cryptlib_d.a $(DEBUG_LDFLAGS) -lm
###############################################################################
# other makes
all: cryptlib.a cryptest
clean:
- rm -f $(OBJS)
- rm -f crypto++.$(SYSPRE).dep
clobber: clean
- rm -f cryptlib.a cryptlib_d.a
- rm -f cryptest cryptest_d
.SUFFIXES: .cpp
.cpp.o:
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(PLATFORM) $(DEBUG) -c $<
###############################################################################
# make depends
depend: crypto++.$(SYSPRE).dep
crypto++.$(SYSPRE).dep: $(SRCS)
${CC} ${MAKE_FLAGS} ${PLATFORM} ${NDEBUG_FLAGS} *.cpp > crypto++.$(SYSPRE).dep
# Do not Delete
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),clobber)
include crypto++.$(SYSPRE).dep
endif
endif
# Do not Delete