@ -10,43 +10,36 @@
i n c l u d e M a k e f i l e . c o n f
# o rder does matter, hence I have to split it for static builds:
# O rder does matter, hence I have to split it for static builds:
LIBS1 = -levent -lpEpEngine -lasn1 -luuid -lgpgme -letpan
LIBS2 = -lpthread -lz -ldl
BUILD_ON = $( shell uname)
BUILD_FOR = $( BUILD_ON)
BUILD_ON = $( shell uname)
BUILD_FOR = $( BUILD_ON)
i f e q ( $( BUILD_ON ) , D a r w i n )
i f e q ( $( BUILD_FOR ) , D a r w i n )
CXXFLAGS += -I/opt/local/include -I$( HOME) /include -Ijson_spirit
LDFLAGS += -L/opt/local/lib -L$( HOME) /lib $( LIBS1) -lboost_system-mt -lboost_filesystem-mt -lboost_program_options-mt -lboost_thread-mt $( LIBS2)
e n d i f
ifeq ( $( BUILD_FOR) ,Darwin)
CXXFLAGS += -I/opt/local/include -I$( HOME) /include -Ijson_spirit
LDFLAGS += -L/opt/local/lib -L$( HOME) /lib $( LIBS1) -lboost_system-mt -lboost_filesystem-mt -lboost_program_options-mt -lboost_thread-mt $( LIBS2)
endif
e l s e
CXXFLAGS += -I$( HOME) /include -I$( HOME) /local/include/ -Ijson_spirit
LDFLAGS += -L$( HOME) /lib -L$( HOME) /local/lib $( LIBS1) -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread $( LIBS2)
CXXFLAGS += -I$( HOME) /include -I$( HOME) /local/include/ -Ijson_spirit
LDFLAGS += -L$( HOME) /lib -L$( HOME) /local/lib $( LIBS1) -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread $( LIBS2)
e n d i f
.PHONY : all clean install
.PHONY : all
all : pep -json -server servertest
pep-json-server : main .o libjson -adapter .a
$( CXX) -o $@ $^ $( LDFLAGS)
pep-json-server-static : main .o libjson -adapter .a
$( CXX) -static -o $@ $^ $( LDFLAGS)
servertest : servertest .o
$( CXX) $( CXXFLAGS) -o $@ $^ $( LDFLAGS)
$( CXX) $( CXXFLAGS) -o $@ $^ $( LDFLAGS)
# FIXME How about `%.o json_spirit/*.o`? How about using built-in rules?
libjson-adapter.a : \
json_spirit/json_spirit_reader.o json_spirit/json_spirit_value.o json_spirit/json_spirit_writer.o \
json-adapter.o registry.o nfc.o json_rpc.o \
@ -62,17 +55,19 @@ libjson-adapter.a: \
prefix-config.cc : Makefile
echo '// This file is generated by make. Edit the Makefile, not this file!\n#include "prefix-config.hh" \nconst char* const html_directory = "' $( HTML_DIRECTORY) '";\n' > $@
%.o : %.cc %.hh Makefile
%.o : %.cc %.hh Makefile
$( CXX) $( CXXFLAGS) -c $<
.PHONY : install
install :
mkdir -v -p $( HTML_DIRECTORY)
cp -v ../html/* $( HTML_DIRECTORY)
# FIXME Install binaries as well here
.PHONY : clean
clean :
rm -vf pep-json-server servertest
rm -vf *.o
rm -vf prefix-config.cc
rm -vf json_spirit/*.o
rm -vf *.a