# Makefile for sample programs of Kyoto Cabinet #================================================================ # Setting Variables #================================================================ # Generic settings SHELL = /bin/sh # Targets MYBINS = kcprotoex kccacheex kcgrassex kchashex kctreeex kcdirex kcforestex \ kcpolyex kcvisex kcmrex kclangcex # Building binaries CC = gcc CXX = g++ CFLAGS = -I. -I.. -Wall -ansi -pedantic -fsigned-char -O2 CXXFLAGS = -I. -I.. -Wall -fsigned-char -O2 LDFLAGS = LIBS = -L. -L.. -lkyotocabinet -lstdc++ -lz -lrt -lpthread -lm -lc LDENV = LD_RUN_PATH=/lib:/usr/lib:$(HOME)/lib:/usr/local/lib:.:.. RUNENV = LD_LIBRARY_PATH=/lib:/usr/lib:$(HOME)/lib:/usr/local/lib:.:.. #================================================================ # Suffix rules #================================================================ .SUFFIXES : .SUFFIXES : .c .cc .o .c.o : $(CC) -c $(CFLAGS) $< .cc.o : $(CXX) -c $(CXXFLAGS) $< #================================================================ # Actions #================================================================ all : $(MYBINS) clean : rm -rf $(MYBINS) *.exe *.o a.out check.out gmon.out leak.log casket* *~ static : make LDFLAGS="$(LDFLAGS) -static" check : rm -rf casket* $(RUNENV) ./kcprotoex $(RUNENV) ./kccacheex $(RUNENV) ./kcgrassex $(RUNENV) ./kchashex $(RUNENV) ./kctreeex $(RUNENV) ./kcdirex $(RUNENV) ./kcforestex $(RUNENV) ./kcpolyex $(RUNENV) ./kcvisex $(RUNENV) ./kcmrex $(RUNENV) ./kclangcex .PHONY : all clean static #================================================================ # Building binaries #================================================================ kcprotoex : kcprotoex.o $(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) kccacheex : kccacheex.o $(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) kcgrassex : kcgrassex.o $(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) kchashex : kchashex.o $(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) kctreeex : kctreeex.o $(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) kcdirex : kcdirex.o $(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) kcforestex : kcforestex.o $(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) kcpolyex : kcpolyex.o $(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) kcvisex : kcvisex.o $(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) kcmrex : kcmrex.o $(LDENV) $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) kclangcex : kclangcex.o $(LDENV) $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LIBS) # END OF FILE