4 |
|
# |
5 |
|
# $Id$ |
6 |
|
|
7 |
< |
menes = ./menes |
8 |
< |
cxxsrc = Zoe.cpp AwayMessage.cpp Buddy.cpp Collector.cpp Publisher.cpp \ |
9 |
< |
Stamp.cpp Matcher.cpp $(menes)/menes-app/configuration.cpp \ |
10 |
< |
$(menes)/menes-ext/allocator.cpp $(menes)/menes-ext/exception.cpp \ |
11 |
< |
$(menes)/menes-opt/assert.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 \ |
14 |
< |
$(menes)/menes-log/logging.cpp $(wildcard $(foreach prj, api/devrandom \ |
15 |
< |
api/execinfo api/mhash api/posix api/pthread api/proc api/libuuid dbi \ |
16 |
< |
dbi/mysql dbi/pgsql ios net/oscar net/oscar/tools xml, \ |
17 |
< |
$(menes)/menes-$(prj)/*.cpp)) |
18 |
< |
cxxhdr = $(patsubst %.cpp, %.hpp, ${cxxsrc}) |
19 |
< |
cxxobj = $(patsubst %.cpp, object/%.o, ${cxxsrc}) |
20 |
< |
cxxdep = $(patsubst %.cpp, object/%.d, ${cxxsrc}) |
21 |
< |
exe = zoe |
7 |
> |
MENES := menes |
8 |
> |
EXEPATH := zoe |
9 |
> |
LOCALS := *.cpp $(MENES)/menes-{dbi,net/oscar,xml} |
10 |
> |
LINKLIB := mysqlclient_r pcre pq |
11 |
|
|
12 |
< |
ifeq (FreeBSD,$(shell uname)) |
24 |
< |
CXX := g++34 |
25 |
< |
endif |
26 |
< |
CXXFLAGS := -g -O0 -funsigned-char #-fuse-cxa-atexit |
27 |
< |
CPPFLAGS += -DNFINLINE -DNPROFILE -I$(menes) |
28 |
< |
LDFLAGS += -pthread -L/usr/local/lib/mysql |
29 |
< |
LDLIBS += -lexecinfo -lmhash -lmysqlclient_r -lpcre -lpq -luuid -lz |
12 |
> |
include $(MENES)/general.mk |
13 |
|
|
14 |
< |
all: ${exe} |
14 |
> |
.PHONY: install |
15 |
|
|
16 |
< |
${exe}: ${cxxobj} |
17 |
< |
$(CXX) $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@ |
35 |
< |
|
36 |
< |
object/%.o: %.cpp |
37 |
< |
@mkdir -p $(@D) |
38 |
< |
$(CXX) -MP -MD $(CPPFLAGS) $(CXXFLAGS) -o $@ -c $< |
39 |
< |
|
40 |
< |
-include $(cxxdep) |
41 |
< |
|
42 |
< |
clean: |
43 |
< |
-rm -rf object ${exe} core $(patsubst %, %.core, ${exe}) \ |
44 |
< |
$(patsubst %, %.stackdump, ${exe}) |
16 |
> |
install: $(EXEPATH) |
17 |
> |
ln -f $< $(HOME)/bin |