source: GNUmakefile @ 00587dc

Revision 00587dc, 2.3 KB checked in by Hal Finkel <hfinkel@…>, 10 years ago (diff)

Initial Commit (gio-base-20150317)

  • Property mode set to 100644
Line 
1CC = gcc
2CXX = g++
3
4MPICC = mpicc
5MPICXX = mpicxx
6
7all: fe-progs mpi-progs
8sql: fe-sqlite
9
10FEDIR = frontend
11FE_CFLAGS := -g -fPIC -O3 -fopenmp
12FE_CPPFLAGS := -Ithirdparty/blosc -Ithirdparty/sqlite -DGENERICIO_NO_MPI
13
14MPIDIR = mpi
15MPI_CFLAGS := -g -O3
16MPI_CPPFLAGS := -Ithirdparty/blosc
17
18$(FEDIR):
19        mkdir -p $(FEDIR)
20
21$(FEDIR)/%.o: thirdparty/blosc/%.c | $(FEDIR)
22        $(CC) $(FE_CFLAGS) $(FE_CPPFLAGS) -c -o $@ $<
23
24$(FEDIR)/%.o: %.cxx | $(FEDIR)
25        $(CXX) $(FE_CFLAGS) $(FE_CPPFLAGS) -c -o $@ $<
26
27$(FEDIR)/GenericIOPrint: $(FEDIR)/GenericIOPrint.o $(FEDIR)/GenericIO.o  $(FEDIR)/blosc.o $(FEDIR)/blosclz.o $(FEDIR)/shuffle.o
28        $(CXX) $(FE_CFLAGS) -o $@ $^
29
30$(FEDIR)/GenericIOVerify: $(FEDIR)/GenericIOVerify.o $(FEDIR)/GenericIO.o $(FEDIR)/blosc.o $(FEDIR)/blosclz.o $(FEDIR)/shuffle.o
31        $(CXX) $(FE_CFLAGS) -o $@ $^
32
33FE_UNAME := $(shell uname -s)
34ifeq ($(FE_UNAME),Darwin)
35FE_SHARED := -bundle
36else
37FE_SHARED := -shared
38endif
39$(FEDIR)/GenericIOSQLite.so: $(FEDIR)/GenericIOSQLite.o $(FEDIR)/GenericIO.o
40        $(CXX) $(FE_CFLAGS) $(FE_SHARED) -o $@ $^
41
42SQLITE_CPPFLAGS := -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DHAVE_READLINE=1
43
44$(FEDIR)/sqbuild:
45        mkdir -p $(FEDIR)/sqbuild
46
47$(FEDIR)/sqbuild/%.o: thirdparty/sqlite/%.c | $(FEDIR)/sqbuild
48        $(CC) $(FE_CFLAGS) $(FE_CPPFLAGS) $(SQLITE_CPPFLAGS) -c -o $@ $<
49
50$(FEDIR)/sqlite3: $(FEDIR)/sqbuild/sqlite3.o $(FEDIR)/sqbuild/shell.o
51        $(CC) $(FE_CFLAGS) -o $@ $^ -pthread -lreadline -lrt -ldl
52
53$(MPIDIR):
54        mkdir -p $(MPIDIR)
55
56$(MPIDIR)/%.o: thirdparty/blosc/%.c | $(MPIDIR)
57        $(MPICC) $(MPI_CFLAGS) $(MPI_CPPFLAGS) -c -o $@ $<
58
59$(MPIDIR)/%.o: %.cxx | $(MPIDIR)
60        $(MPICXX) $(MPI_CFLAGS) $(MPI_CPPFLAGS) -c -o $@ $<
61
62$(MPIDIR)/GenericIOPrint: $(MPIDIR)/GenericIOPrint.o $(MPIDIR)/GenericIO.o $(MPIDIR)/blosc.o $(MPIDIR)/blosclz.o $(MPIDIR)/shuffle.o
63        $(MPICXX) $(MPI_CFLAGS) -o $@ $^
64
65$(MPIDIR)/GenericIOVerify: $(MPIDIR)/GenericIOVerify.o $(MPIDIR)/GenericIO.o $(MPIDIR)/blosc.o $(MPIDIR)/blosclz.o $(MPIDIR)/shuffle.o
66        $(MPICXX) $(MPI_CFLAGS) -o $@ $^
67
68frontend-progs: $(FEDIR)/GenericIOPrint $(FEDIR)/GenericIOVerify
69fe-progs: frontend-progs
70
71mpi-progs: $(MPIDIR)/GenericIOPrint $(MPIDIR)/GenericIOVerify
72
73frontend-sqlite: $(FEDIR)/GenericIOSQLite.so $(FEDIR)/sqlite3
74fe-sqlite: frontend-sqlite
75
76clean:
77        rm -rf frontend mpi
78
Note: See TracBrowser for help on using the repository browser.