File: Makefile

package info (click to toggle)
tkrzw 1.0.32-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,820 kB
  • sloc: cpp: 64,785; ansic: 2,079; makefile: 1,125
file content (170 lines) | stat: -rw-r--r-- 5,269 bytes parent folder | download
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