1 |
# Zoe AIM Away Message RSS Feed Generator |
2 |
# |
3 |
# Seth King and Douglas Thrift |
4 |
# |
5 |
# $Id$ |
6 |
|
7 |
menes = ./menes |
8 |
cxxsrc = Zoe.cpp AwayMessage.cpp Buddy.cpp Collector.cpp Publisher.cpp Rss.cpp \ |
9 |
Stamp.cpp Matcher.cpp $(menes)/menes-ext/allocator.cpp \ |
10 |
$(menes)/menes-ext/exception.cpp $(menes)/menes-opt/assert.cpp \ |
11 |
$(menes)/menes-opt/logging.cpp $(menes)/menes-app/entrypoint.cpp \ |
12 |
$(menes)/menes-app/threading.cpp $(menes)/menes-app/c++/fatality.cpp \ |
13 |
$(menes)/menes-app/arguments.cpp $(menes)/menes-ext/uuid.cpp $(wildcard \ |
14 |
$(foreach prj, api/devrandom api/execinfo api/mhash api/posix \ |
15 |
api/pthread api/proc api/libuuid dbi dbi/pgsql ios net/oscar \ |
16 |
net/oscar/tools xml, $(menes)/menes-$(prj)/*.cpp)) |
17 |
cxxhdr = $(patsubst %.cpp, %.hpp, ${cxxsrc}) |
18 |
cxxobj = $(patsubst %.cpp, object/%.o, ${cxxsrc}) |
19 |
cxxdep = $(patsubst %.cpp, object/%.d, ${cxxsrc}) |
20 |
exe = zoe |
21 |
|
22 |
ifeq (FreeBSD,$(shell uname)) |
23 |
CXX := g++34 |
24 |
endif |
25 |
CXXFLAGS := -g -O0 |
26 |
CPPFLAGS += -DNFINLINE -DNPROFILE -I$(menes) -DMENES_NO_MYSQL |
27 |
LDFLAGS += -pthread |
28 |
LDLIBS += -lexecinfo -lmhash -lpcre -lpq -luuid |
29 |
|
30 |
all: ${exe} |
31 |
|
32 |
${exe}: ${cxxobj} |
33 |
$(CXX) $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@ |
34 |
|
35 |
object/%.o: %.cpp |
36 |
@mkdir -p $(@D) |
37 |
$(CXX) -MP -MD $(CPPFLAGS) $(CXXFLAGS) -o $@ -c $< |
38 |
|
39 |
-include $(cxxdep) |
40 |
|
41 |
clean: |
42 |
-rm -rf object ${exe} core $(patsubst %, %.core, ${exe}) \ |
43 |
$(patsubst %, %.stackdump, ${exe}) |