# $Id: Makefile,v 1.18 2005/10/19 18:25:58 ozawa Exp $
#
# Copyright 2005- ONGS Inc. All rights reserved.
#
# author: Masanori OZAWA (ozawa@ongs.co.jp)
# version: $Revision: 1.18 $
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY ONGS INC ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL ONGS INC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# The views and conclusions contained in the software and documentation are
# those of the authors and should not be interpreted as representing official
# policies, either expressed or implied, of the ONGS Inc.
#
.include "../Makefile.inc"
LIB_DEPS = glibmm-2.4 libxml-2.0 libxslt
.ifndef WITHOUT_GDK
LIB_DEPS += gdk-pixbuf-2.0
.endif
CXX ?= g++
CXXFLAGS ?= -pipe
__FLAGS != pkg-config --cflags ${LIB_DEPS}
CXXINC += -I. -I./include ${__FLAGS} -I${PREFIX}/include
__LIBS != pkg-config --libs ${LIB_DEPS}
LIBS = ${__LIBS}
SRC != find ./ -name "*.cpp" | grep -v "CVS" | \
sed 's/^[.][/]//g' | sort
OBJ = ${SRC:.cpp=.o}
LIBOBJ = ${OBJ:S/main.o//}
INCFILES != find ./include/ -name "*.h" | grep -v "CVS" | \
grep -v "/xdtp.h" | sed -e 's,^[.]/include/,,g' | sort
LIB_ARTARGET= ${LIBTARGET:R:.so=.a}
LIB_LNTARGET= ${LIBTARGET:R}
.ifdef WITHOUT_GDK
CXXFLAGS += -DWITHOUT_GDK
.endif
.ifndef WITHOUT_FETCH
.if exists(/usr/include/fetch.h) || exists(${PREFIX}/include/fetch.h)
CXXFLAGS += -DWITH_FETCH
LIBS += -lfetch
.endif
.endif
CXXFLAGS += -Wall
.ifndef DEBUG
CXXFLAGS += -O2
.else
CXXFLAGS += -g -DDEBUG
.endif
CXXFLAGS += -DMAJOR_VERSION="${MAJOR_VERSION}"
CXXFLAGS += -DMINOR_VERSION="${MINOR_VERSION}"
CXXFLAGS += -DMICRO_VERSION="${MICRO_VERSION}"
.ifdef CURRENT_VERSION
CXXFLAGS += -DCURRENT_VERSION='"${CURRENT_VERSION}"'
.endif
all: build
build: ${TARGET} ${LIBTARGET}
${TARGET}: ${OBJ} ${LIBTARGET}
${CXX} ${CXXFLAGS} -o ${TARGET} main.o -L. -lxdtp ${LIBS}
.ifndef DEBUG
${STRIP} ${TARGET}
.endif
${LIBTARGET}: ${LIBOBJ}
${CXX} ${CXXFLAGS} -o ${LIBTARGET} --shared ${LIBOBJ} ${LIBS}
${AR} r ${LIB_ARTARGET} ${LIBOBJ}
${RANLIB} ${LIB_ARTARGET}
.cpp.o:
${CXX} ${CXXINC} ${CXXFLAGS} -o $@ -c $<
install:
${INSTALL} -c -o root -g wheel -m 755 ${TARGET} ${PREFIX}/bin/
${INSTALL} -c -o root -g wheel -m 755 ${LIBTARGET} ${PREFIX}/lib/
${INSTALL} -c -o root -g wheel -m 644 ${LIB_ARTARGET} ${PREFIX}/lib/
${LN} -f -s ${PREFIX}/lib/${LIBTARGET} ${PREFIX}/lib/${LIB_LNTARGET}
.ifndef WITHOUT_INCLUDE
${INSTALL} -d -o root -g wheel -m 755 ${XDTPINCLUDE}
${INSTALL} -d -o root -g wheel -m 755 ${XDTPINCLUDE}/modules
${INSTALL} -d -o root -g wheel -m 755 ${XDTPINCLUDE}/modules/imports
for incfile in ${INCFILES}; do \
${INSTALL} -c -o root -g wheel -m 644 ./include/$${incfile} \
${PREFIX}/include/xdtp/`${DIRNAME} $${incfile}` ; \
done
.endif
clean:
rm -f ${OBJ}
rm -f ${TARGET}
rm -f ${LIBTARGET} ${LIB_ARTARGET}
syntax highlighted by Code2HTML, v. 0.9.1