-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
35 lines (29 loc) · 1.13 KB
/
Makefile
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
CC = gcc
FC = gfortran
AR = ar
PREFIX = /usr/local
CFLAGS = -Wall
FFLAGS = -Wall -std=f2008 -Wall -fmax-errors=1 -fcheck=all
ARFLAGS = rcs
LDFLAGS = -I$(PREFIX)/include/ -L$(PREFIX)/lib/
LDLIBS = -ltokyocabinet -lz -lbz2 -lrt -lpthread -lm -lc
TARGET = libfortran-tcdb.a
.PHONY: all clean examples static
all: $(TARGET) examples
$(TARGET):
$(CC) $(CFLAGS) -fPIC $(LDFLAGS) -c src/tcversion.c
$(FC) $(FFLAGS) -fPIC $(LDFLAGS) -c src/libc.f90
$(FC) $(CFLAGS) -fPIC $(LDFLAGS) -c src/tcutil.f90
$(FC) $(CFLAGS) -fPIC $(LDFLAGS) -c src/tcmisc.f90
$(FC) $(FFLAGS) -fPIC $(LDFLAGS) -c src/tclist.f90
$(FC) $(FFLAGS) -fPIC $(LDFLAGS) -c src/tcmdb.f90
$(FC) $(FFLAGS) -fPIC $(LDFLAGS) -c src/tchdb.f90
$(AR) $(ARFLAGS) $(TARGET) *.o
examples: $(TARGET)
$(FC) $(FFLAGS) $(LDFLAGS) -o hdb examples/hdb/hdb.f90 $(TARGET) $(LDLIBS)
$(FC) $(FFLAGS) $(LDFLAGS) -o mdb examples/mdb/mdb.f90 $(TARGET) $(LDLIBS)
$(FC) $(FFLAGS) $(LDFLAGS) -o list examples/list/list.f90 $(TARGET) $(LDLIBS)
$(FC) $(FFLAGS) $(LDFLAGS) -o tcv examples/tcv/tcv.f90 $(TARGET) $(LDLIBS)
static: $(TARGET)
clean:
rm $(TARGET) *.mod *.o hdb mdb list tcv