|
1 | 1 | LIBNAME := sqlwrite
|
2 | 2 | OPTIMIZATION := # -O3
|
3 | 3 | CXXFLAGS := -std=c++17 -g $(OPTIMIZATION) -DNDEBUG -I. -Ifmt/include
|
4 |
| -CFLAGS := $(OPTIMIZATION) -g -DNDEBUG |
| 4 | +CFLAGS := $(OPTIMIZATION) -g -DNDEBUG -fPIC -shared |
5 | 5 |
|
| 6 | + |
| 7 | +# Check for macOS and set variables accordingly |
6 | 8 | ifeq ($(shell uname -s),Darwin)
|
7 |
| -LIBFILE := $(LIBNAME).dylib |
| 9 | +DYLIB_EXT = dylib |
| 10 | +LDFLAGS = -dynamiclib |
8 | 11 | DYNAMIC_LIB := -dynamiclib
|
9 |
| -SQLITE_LIB = libsqlite3.dylib |
10 | 12 | CXXFLAGS := $(CXXFLAGS) -arch arm64 $(shell pkg-config --cflags --libs libcurl openssl)
|
| 13 | +PACKAGE := pkg |
11 | 14 | else
|
12 |
| -LIBFILE := $(LIBNAME).so |
| 15 | +DYLIB_EXT = so |
| 16 | +LDFLAGS = -shared |
13 | 17 | DYNAMIC_LIB := -shared -fPIC
|
14 |
| -SQLITE_LIB = libsqlite3.so |
15 | 18 | CXXFLAGS := $(CXXFLAGS) -lcurl -lssl -lcrypto
|
| 19 | +PACKAGE := |
16 | 20 | endif
|
17 | 21 |
|
| 22 | +LIBFILE := $(LIBNAME).$(DYLIB_EXT) |
| 23 | +SQLITE_LIB = libsqlite3.$(DYLIB_EXT) |
18 | 24 | DOMAIN = org.plasma-umass.sqlwrite
|
19 | 25 |
|
20 |
| -ifeq ($(shell uname -s),Darwin) |
21 |
| -all: $(LIBFILE) $(SQLITE_LIB) sqlwrite pkg |
22 |
| -else |
23 |
| -all: $(LIBFILE) $(SQLITE_LIB) sqlwrite |
24 |
| -endif |
| 26 | +all: $(LIBFILE) $(SQLITE_LIB) sqlwrite-bin $(PACKAGE) |
25 | 27 |
|
26 | 28 | $(LIBFILE): sqlwrite.cpp fmt/src/format.cc
|
27 | 29 | clang++ $(CXXFLAGS) $(DYNAMIC_LIB) -o $(LIBFILE) $^
|
28 | 30 |
|
29 | 31 | $(SQLITE_LIB): sqlite3.c
|
30 | 32 | clang $(CFLAGS) $(DYNAMIC_LIB) -o $(SQLITE_LIB) $^
|
31 | 33 |
|
32 |
| -sqlwrite: shell.c $(SQLITE_LIB) |
33 |
| - clang $(CFLAGS) shell.c -L. -lsqlite3 -o sqlwrite |
| 34 | +sqlwrite-bin: shell.c $(SQLITE_LIB) |
| 35 | + clang $(CFLAGS) shell.c -L. -lsqlite3 -o sqlwrite-bin |
34 | 36 |
|
35 | 37 | ifeq ($(shell uname -s),Darwin)
|
36 |
| -pkg: sqlwrite |
| 38 | +pkg: sqlwrite-bin |
37 | 39 | # Create the package directory structure
|
38 | 40 | mkdir -p pkg_root/usr/local/bin
|
39 | 41 | mkdir -p pkg_root/usr/local/lib
|
40 | 42 | cp sqlwrite pkg_root/usr/local/bin
|
| 43 | + cp sqlwrite-bin pkg_root/usr/local/bin |
41 | 44 | cp $(LIBFILE) pkg_root/usr/local/lib
|
42 | 45 | cp $(SQLITE_LIB) pkg_root/usr/local/lib
|
43 | 46 |
|
|
0 commit comments