[00587dc] | 1 | CC = gcc |
---|
| 2 | CXX = g++ |
---|
| 3 | |
---|
| 4 | MPICC = mpicc |
---|
| 5 | MPICXX = mpicxx |
---|
| 6 | |
---|
| 7 | all: fe-progs mpi-progs |
---|
| 8 | sql: fe-sqlite |
---|
| 9 | |
---|
| 10 | FEDIR = frontend |
---|
| 11 | FE_CFLAGS := -g -fPIC -O3 -fopenmp |
---|
| 12 | FE_CPPFLAGS := -Ithirdparty/blosc -Ithirdparty/sqlite -DGENERICIO_NO_MPI |
---|
| 13 | |
---|
| 14 | MPIDIR = mpi |
---|
| 15 | MPI_CFLAGS := -g -O3 |
---|
| 16 | MPI_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 | |
---|
| 33 | FE_UNAME := $(shell uname -s) |
---|
| 34 | ifeq ($(FE_UNAME),Darwin) |
---|
| 35 | FE_SHARED := -bundle |
---|
| 36 | else |
---|
| 37 | FE_SHARED := -shared |
---|
| 38 | endif |
---|
| 39 | $(FEDIR)/GenericIOSQLite.so: $(FEDIR)/GenericIOSQLite.o $(FEDIR)/GenericIO.o |
---|
| 40 | $(CXX) $(FE_CFLAGS) $(FE_SHARED) -o $@ $^ |
---|
| 41 | |
---|
| 42 | SQLITE_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 | |
---|
| 68 | frontend-progs: $(FEDIR)/GenericIOPrint $(FEDIR)/GenericIOVerify |
---|
| 69 | fe-progs: frontend-progs |
---|
| 70 | |
---|
| 71 | mpi-progs: $(MPIDIR)/GenericIOPrint $(MPIDIR)/GenericIOVerify |
---|
| 72 | |
---|
| 73 | frontend-sqlite: $(FEDIR)/GenericIOSQLite.so $(FEDIR)/sqlite3 |
---|
| 74 | fe-sqlite: frontend-sqlite |
---|
| 75 | |
---|
| 76 | clean: |
---|
| 77 | rm -rf frontend mpi |
---|
| 78 | |
---|