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