Add RSS CGI, also quite a lot of refactoring
[blerg.git] / Makefile
1 CFLAGS ?= -g
2 INCLUDES = -I. -Idatabase -Icommon -Iyajl/build/yajl-1.0.11/include
3 HTTP_INCLUDES = -Ihttp -Ilibmicrohttpd-0.9.3/src/include
4 CGI_INCLUDES = -Icgi -Icgi-util-2.2.1
5 LDFLAGS ?=
6 HTTP_LIBDIRS = -Llibmicrohttpd-0.9.3/src/daemon/.libs -Lyajl/build/yajl-1.0.11/lib
7 CGI_LIBDIRS = -Lcgi-util-2.2.1 -Lyajl/build/yajl-1.0.11/lib
8
9 targets = blerg.a blergtool http_blerg cgi_blerg rss
10 blerg_a_objects = database/database.o database/tags.o database/util.o
11 blergtool_objects = tools/blergtool.o blerg.a
12 rss_objects = cgi/rss.o cgi/canned_responses.o common/app.o common/escapery.o blerg.a
13 http_blerg_objects = http/http_blerg.o http/canned_responses.o common/app.o common/json.o common/auth.o blerg.a
14 cgi_blerg_objects = cgi/cgi_blerg.o cgi/canned_responses.o common/app.o common/json.o common/auth.o blerg.a
15
16 all: $(targets)
17
18 clean:
19         rm -f $(targets) $(blerg_a_objects) $(blergtool_objects) $(http_blerg_objects) $(cgi_blerg_objects) $(rss_objects)
20
21 blerg.a: $(blerg_a_objects)
22         ar rcu $@ $(blerg_a_objects)
23
24 blergtool: $(blergtool_objects)
25         gcc $(LDFLAGS) $^ -o $@
26
27 http_blerg: $(http_blerg_objects)
28         gcc $(HTTP_LIBDIRS) $(LDFLAGS) $(http_blerg_objects) -lpthread -lmicrohttpd -lyajl_s -o $@
29
30 cgi_blerg: $(cgi_blerg_objects)
31         gcc $(CGI_LIBDIRS) $(LDFLAGS) $(cgi_blerg_objects) -lcgi-util -lyajl_s -o $@
32
33 rss: $(rss_objects)
34         gcc $(CGI_LIBDIRS) $(LDFLAGS) $(rss_objects) -lcgi-util -o $@
35
36 http/%.o: http/%.c
37         gcc $(INCLUDES) $(HTTP_INCLUDES) $(CFLAGS) -c $< -o $@
38
39 cgi/%.o: cgi/%.c
40         gcc $(INCLUDES) $(CGI_INCLUDES) $(CFLAGS) -c $< -o $@
41
42 %.o: %.c
43         gcc $(INCLUDES) $(CFLAGS) -c $< -o $@