all: daemon sablebox runner_linux
daemon: http.o judge.o manager.o readconfig.o database.o cena_validator.o validator.o json_builder.o call_ruc.o
	g++ -std=c++0x -O -o daemon http.o database.o judge.o manager.o readconfig.o cena_validator.o validator.o json_builder.o call_ruc.o `pkg-config --libs libmicrohttpd` `pkg-config --libs mysqlclient` -L/usr/lib64/mysql -L/usr/lib/mysql -lmysqlclient -pthread
http.o: http.cpp judge_daemon.h
	g++ -std=c++0x -c -O http.cpp `pkg-config --cflags libmicrohttpd`
judge.o: judge.cpp judge_daemon.h
	g++ -std=c++0x -c -O judge.cpp
manager.o: manager.cpp judge_daemon.h
	g++ -std=c++0x -c -O manager.cpp
readconfig.o: readconfig.cpp judge_daemon.h
	g++ -std=c++0x -c -O readconfig.cpp
database.o: database.cpp judge_daemon.h
	g++ -std=c++0x -c -O database.cpp `pkg-config --cflags mysqlclient` -I/usr/include/mysql
validator.o: validator.c
	gcc -c -O2 validator.c
json_builder.o: json_builder.cpp judge_daemon.h
	g++ -std=c++0x -c -O json_builder.cpp
call_ruc.o: call_ruc.cpp
	g++ -c -O call_ruc.cpp
cena_validator.o: cena_validator.cpp
	g++ -c -O2 cena_validator.cpp

sablebox: 
	make -C ./libsablebox

runner_linux: runner_linux.c libsablebox/libsablebox.a
	gcc -I./libsablebox -L./libsablebox runner_linux.c -lsablebox -o runner_linux

