-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommon.mk
112 lines (77 loc) · 2.22 KB
/
common.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# 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}