summaryrefslogtreecommitdiff
path: root/docs/tutorial/examples/GNUmakefile
blob: 01b5363e7fd2d41237ee84748cb5b07e441ced74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# NOTE: This Makefile assumes that a recent enough version of
# libmongo-client is installed!
#
# It will NOT work in the build directory, without an installed
# libmongo-client library.

TUTORIAL_PROGRAMS	= tut/bson_build \
			  tut/bson_traverse \
			  tut/mongo_sync \
			  tut/mongo_sync_cmd_create \
			  tut/mongo_sync_cmd_custom \
			  tut/mongo_sync_cmd_index_create \
			  tut/hl_client \
			  tut/json2bson

LMC_CFLAGS		= $(shell pkg-config --cflags libmongo-client)
LMC_LIBS		= $(shell pkg-config --libs libmongo-client)

JSON_C_CFLAGS		= $(shell pkg-config --cflags json)
JSON_C_LIBS		= $(shell pkg-config --libs json)

TUT_CFLAGS		= ${LMC_CFLAGS}
TUT_LIBS		= ${LMC_LIBS}

all: ${TUTORIAL_PROGRAMS}
clean:
	rm -f ${TUTORIAL_PROGRAMS}
	-rmdir tut/

tut/json2bson: TUT_CFLAGS += ${JSON_C_CFLAGS}
tut/json2bson: TUT_LIBS += ${JSON_C_LIBS}
${TUTORIAL_PROGRAMS}: tut/%: tut_%.c
	@install -d tut
	${CC} ${TUT_CFLAGS} ${CFLAGS} $< ${TUT_LIBS} ${LDFLAGS} -o $@

.PHONY: all clean