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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
# Makefile for sample programs of Tkrzw
#================================================================
# Setting Variables
#================================================================
# Generic settings
SHELL = /bin/sh
# Targets
MYBINS = helloworld accesscounter transfer ulogrestore \
hashdbm_ex1 hashdbm_ex2 hashdbm_ex3 \
treedbm_ex1 treedbm_ex2 treedbm_ex3 treedbm_ex4 \
skipdbm_ex1 skipdbm_ex2 skipdbm_ex3 \
tinydbm_ex1 tinydbm_ex2 \
babydbm_ex1 babydbm_ex2 \
cachedbm_ex1 \
stdtreedbm_ex1 stdtreedbm_ex2 \
polydbm_ex1 sharddbm_ex1 asyncdbm_ex1 \
struct_ex1 \
fileindex_ex1 memindex_ex1 stdindex_ex1 polyindex_ex1 \
invindex_ex1 \
langc_ex1 langc_ex2 langc_ex3
# Building binaries
CC = gcc
CXX = g++
CPPFLAGS = -I. -I.. -I/usr/local/include -D_GNU_SOURCE=1
CFLAGS = -std=c11 -Wall -pedantic -fsigned-char -O2
CXXFLAGS = -std=c++17 -Wall -fsigned-char -O2
LDFLAGS =
LIBS = -L. -L.. -L/usr/local/lib -ltkrzw -lstdc++ -lpthread
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 $(CPPFLAGS) $(CFLAGS) $<
.cc.o :
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
#================================================================
# Actions
#================================================================
all : $(MYBINS)
clean :
rm -rf $(MYBINS) *.exe *.o a.out check.out gmon.out leak.log casket* *.tkh *.tkt *.tks *~
static :
make LDFLAGS="$(LDFLAGS) -static"
single :
g++ -std=c++17 -I/usr/local/include -Wall -fsigned-char -O2 \
-o helloworld helloworld.cc -L/usr/local/lib -ltkrzw -lstdc++ -lpthread
.PHONY : all clean static single
#================================================================
# Building binaries
#================================================================
helloworld : helloworld.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
accesscounter : accesscounter.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
transfer : transfer.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
ulogrestore : ulogrestore.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
hashdbm_ex1 : hashdbm_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
hashdbm_ex2 : hashdbm_ex2.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
hashdbm_ex3 : hashdbm_ex3.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
treedbm_ex1 : treedbm_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
treedbm_ex2 : treedbm_ex2.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
treedbm_ex3 : treedbm_ex3.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
treedbm_ex4 : treedbm_ex4.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
skipdbm_ex1 : skipdbm_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
skipdbm_ex2 : skipdbm_ex2.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
skipdbm_ex3 : skipdbm_ex3.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
tinydbm_ex1 : tinydbm_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
tinydbm_ex2 : tinydbm_ex2.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
babydbm_ex1 : babydbm_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
babydbm_ex2 : babydbm_ex2.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
cachedbm_ex1 : cachedbm_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
stdtreedbm_ex1 : stdtreedbm_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
stdtreedbm_ex2 : stdtreedbm_ex2.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
polydbm_ex1 : polydbm_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
sharddbm_ex1 : sharddbm_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
asyncdbm_ex1 : asyncdbm_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
struct_ex1 : struct_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
fileindex_ex1 : fileindex_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
memindex_ex1 : memindex_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
stdindex_ex1 : stdindex_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
polyindex_ex1 : polyindex_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
invindex_ex1 : invindex_ex1.o
$(LDENV) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
langc_ex1 : langc_ex1.o
$(LDENV) $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
langc_ex2 : langc_ex2.o
$(LDENV) $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
langc_ex3 : langc_ex3.o
$(LDENV) $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LIBS)
# END OF FILE
|