-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile.sharedlib
43 lines (29 loc) · 1.14 KB
/
Makefile.sharedlib
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
SPDK_ROOT_DIR := $(abspath $(CURDIR))
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
###-C_SRCS := common.c sync.c async.c
#C_SRCS := test.c
#OBJS=$(C_SRCS:.c=.o)
OBJS += $(MLFS_DEP_OBJS)
##-CFLAGS += -I. -I $(MLFS_DIR) $(ENV_CFLAGS) -I $(SPDK_ROOT_DIR)/include
CFLAGS += -I. -I $(ENV_CFLAGS) -I $(SPDK_ROOT_DIR)/include
DEBUG := -O0 -g
#DEBUG := -O3
SPDK_LIBS += $(SPDK_ROOT_DIR)/build/lib/libspdk_nvme.a \
$(SPDK_ROOT_DIR)/build/lib/libspdk_env_dpdk.a \
# $(SPDK_ROOT_DIR)/build/lib/libspdk_util.a \
$(SPDK_ROOT_DIR)/build/lib/libspdk_log.a \
$(SPDK_ROOT_DIR)/dpdk/build/lib/librte_eal.a \
$(SPDK_ROOT_DIR)/dpdk/build/lib/librte_pci.a
LIBS += $(SPDK_LIBS) $(ENV_LINKER_ARGS)
all: libspdk.so
libspdk.so: $(OBJS) $(ENV_LIBS)
@echo "build shared library"
gcc -shared -fPIC $(DEBUG) -o libspdk.so -Wl,--whole-archive $(SPDK_LIBS) -Wl,--no-whole-archive $^ -ldl -lrt -lm -lnuma -luuid
clean :
$(CLEAN_C)
@rm -rf *.d
@rm -rf *.o
@rm -f libspdk.so
%.o: %.c
$(CC) -o $@ $(DEBUG) $(DEPFLAGS) $(CFLAGS) $(CPPFLAGS) $(SPDK_LIBS) $(SYS_LIBS) -fPIC -I $(SPDK_ROOT_DIR)/include -c $< -DMLFS_INFO
include $(SPDK_ROOT_DIR)/mk/spdk.deps.mk