113 lines
2.2 KiB
Makefile
113 lines
2.2 KiB
Makefile
# src/Makefile
|
|
# This file is part of libpbe; see http://decimail.org
|
|
# (C) 2004-2007 Philip Endecott
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
default_target: library
|
|
|
|
LIBRARY=libpbe.a
|
|
|
|
library: $(LIBRARY)
|
|
|
|
UNAME_S=$(shell uname -s)
|
|
UNAME_R=$(shell uname -r)
|
|
|
|
ifeq (${UNAME_S},Linux)
|
|
KVER=$(subst ., ,${UNAME_R})
|
|
ifeq ($(word 1,${KVER}),2)
|
|
ifeq ($(word 2,${KVER}),4)
|
|
SUPPORT_LINUX_2_4=1
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
SRC_DIR=../src
|
|
INCLUDE_DIR=../include
|
|
|
|
VPATH=${SRC_DIR}
|
|
|
|
SKIP_SRCS:=
|
|
|
|
ifndef ENABLE_POSTGRESQL
|
|
SKIP_SRCS+=Database.cc
|
|
endif
|
|
|
|
ifndef ENABLE_IMAGEMAGICK
|
|
SKIP_SRCS+=jpegsize.cc
|
|
endif
|
|
|
|
ifndef ENABLE_RECODE
|
|
SKIP_SRCS+=Recoder.cc
|
|
endif
|
|
|
|
ifdef DISABLE_HTTP_CLIENT
|
|
SKIP_SRCS+=HttpClient.cc
|
|
endif
|
|
|
|
CC_SRCS=$(filter-out ${SKIP_SRCS},$(notdir $(wildcard ${SRC_DIR}/*.cc)))
|
|
|
|
CC_SRCS+=
|
|
|
|
OBJS=$(addsuffix .o,$(notdir $(basename $(CC_SRCS))))
|
|
|
|
DEPENDS=$(addsuffix .d,$(notdir $(basename $(CC_SRCS))))
|
|
|
|
-include $(DEPENDS)
|
|
|
|
WARN_FLAGS=-W -Wall
|
|
|
|
OPTIMISE_FLAGS=-O
|
|
|
|
DEBUG_FLAGS=
|
|
|
|
ifdef ENABLE_POSTGRESQL
|
|
PG_INC_FLAGS=-I$(shell pg_config --includedir)
|
|
else
|
|
PG_INC_FLAGS=
|
|
endif
|
|
|
|
INC_FLAGS+=$(PG_INC_FLAGS) -I${INCLUDE_DIR}
|
|
|
|
COMPILE_FLAGS=$(WARN_FLAGS) $(OPTIMISE_FLAGS) $(DEBUG_FLAGS) $(INC_FLAGS) -pthread -fPIC
|
|
|
|
ifdef SUPPORT_LINUX_2_4
|
|
COMPILE_FLAGS+=-DSUPPORT_LINUX_2_4
|
|
endif
|
|
|
|
$(LIBRARY): $(OBJS)
|
|
$(AR) ruv $(LIBRARY) $(OBJS)
|
|
|
|
%.o: %.cc
|
|
$(CXX) $(CXXFLAGS) $(COMPILE_FLAGS) -c $<
|
|
|
|
%.d: %.cc
|
|
$(CXX) $(CXXFLAGS) -pthread -MM -MT $@ -MT $(notdir $(<:%.cc=%.o)) $(INC_FLAGS) -o $@ $<
|
|
|
|
all: $(EXECUTABLE)
|
|
|
|
clean: FORCE
|
|
$(RM) *.o $(LIBRARY)
|
|
|
|
veryclean: clean FORCE
|
|
$(RM) *.d
|
|
|
|
FORCE:
|
|
|
|
|
|
testing:
|
|
echo ${CC_SRCS}
|
|
|