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.
sems/apps/xmlrpc2di/xmlrpc++/Makefile

73 lines
1.7 KiB

# makefile written for gnu make
CXX = g++
SRC = ./src
SHARED = -shared
CPPFLAGS += -I$(SRC) -fPIC -Wno-deprecated-declarations
DEBUG = -g
OPTIMIZE = -O2
GCCWARN = -Wall #-Wstrict-prototypes
CXXFLAGS = -std=c++20 $(DEBUG) $(GCCWARN) $(OPTIMIZE) $(INCLUDES)
ARFLAGS = rvs
VERSION = 0.8
DESTDIR =
prefix = /usr
MKDIR = mkdir -p
CP = cp
LN = ln -s
LIB = ./libXmlRpc.a
LIBALT = ./libxmlrpc++.a
SO = ./libxmlrpc++.so.$(VERSION)
# Add your system-dependent network libs here. These are
# only used to build the tests (your application will need them too).
# Linux: none
# Solaris: -lsocket -lnsl
#SYSTEMLIBS = -lsocket -lnsl
SYSTEMLIBS =
LDLIBS = $(LIB) $(SYSTEMLIBS)
OBJ = $(SRC)/XmlRpcClient.o $(SRC)/XmlRpcDispatch.o \
$(SRC)/XmlRpcServer.o $(SRC)/XmlRpcServerConnection.o \
$(SRC)/XmlRpcServerMethod.o $(SRC)/XmlRpcSocket.o $(SRC)/XmlRpcSource.o \
$(SRC)/XmlRpcUtil.o $(SRC)/XmlRpcValue.o
all: $(LIB) $(SO) tests
$(LIB): $(OBJ)
$(AR) $(ARFLAGS) $(LIB) $(OBJ)
cp $(LIB) $(LIBALT)
$(SO): $(OBJ)
$(CXX) -o $(SO) $(SHARED) $(OBJ)
tests: $(LIB)
cd test && $(MAKE) CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" SYSTEMLIBS="$(SYSTEMLIBS)"
doc doxygen:
cd src && doxygen Doxyfile
distclean: clean
clean:
rm -f $(SRC)/*.o
rm -f $(SRC)/*~
rm -f $(LIB) $(LIBALT) $(SO)
rm -f build
cd test && $(MAKE) clean
install:
$(MKDIR) $(DESTDIR)$(prefix)/lib
$(CP) $(SO) $(LIB) $(DESTDIR)$(prefix)/lib
$(MKDIR) $(DESTDIR)$(prefix)/include
$(CP) src/*.h $(DESTDIR)$(prefix)/include
( cd $(DESTDIR)$(prefix)/lib; rm -f libxmlrpc++.so; $(LN) $(SO) libxmlrpc++.so )
# Does not install tests right now
# Debian package make target, in case you want to manually build a package
# from the distribution.
deb:
dpkg-buildpackage -rfakeroot