1# Makefile for sample programs of Kyoto Tycoon
2
3
4#================================================================
5# Setting Variables
6#================================================================
7
8
9# Generic settings
10SHELL = /bin/sh
11
12# Targets
13MYBINS = ktremoteex ktpollex ktthservex kthttpex
14
15
16# Building binaries
17CC = gcc
18CXX = g++
19CFLAGS = -I. -I.. -Wall -ansi -pedantic -fsigned-char -O2
20CXXFLAGS = -I. -I.. -Wall -fsigned-char -O2
21LDFLAGS =
22LIBS = -L. -L.. -lkyototycoon -lkyotocabinet -lz -lrt -lpthread -lm -lc
23LDENV = LD_RUN_PATH=/lib:/usr/lib:$(HOME)/lib:/usr/local/lib:.:..
24RUNENV = LD_LIBRARY_PATH=/lib:/usr/lib:$(HOME)/lib:/usr/local/lib:.:..
25
26
27
28#================================================================
29# Suffix rules
30#================================================================
31
32
33.SUFFIXES :
34.SUFFIXES : .c .cc .o
35
36.c.o :
37	$(CC) -c $(CFLAGS) $<
38
39.cc.o :
40	$(CXX) -c $(CXXFLAGS) $<
41
42
43
44#================================================================
45# Actions
46#================================================================
47
48
49all : $(MYBINS)
50
51
52clean :
53	rm -rf $(MYBINS) *.exe *.o a.out check.out gmon.out leak.log casket* *~
54
55
56static :
57	make LDFLAGS="$(LDFLAGS) -static"
58
59
60check :
61	rm -rf casket*
62	$(RUNENV) ./ktremoteex
63
64
65.PHONY : all clean static
66
67
68
69#================================================================
70# Building binaries
71#================================================================
72
73
74ktremoteex : ktremoteex.o
75	$(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
76
77
78ktpollex : ktpollex.o
79	$(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
80
81
82ktthservex : ktthservex.o
83	$(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
84
85
86kthttpex : kthttpex.o
87	$(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
88
89
90
91# END OF FILE
92