#
|
# Makefile for common library.
|
#
|
ROOT=..
|
PLATFORM=$(shell $(ROOT)/systype.sh)
|
# LIBCOMMON=$(ROOT)/common/libusgcommon.a
|
# DLIBCOMMON=$(ROOT)/common/libusgcommon.so
|
LIB_HCNETDISK_WRAPPER = libhcnetdisk_wrapper.a
|
DLIB_HCNETDISK_WRAPPER = libhcnetdisk_wrapper.so
|
|
|
include $(ROOT)/Make.defines.$(PLATFORM)
|
LDLIBS+=-L../hclib -L../hclib/HCNetSDKCom -Wl,-rpath=../hclib:../hclib/HCNetSDKCom \
|
-lhcnetsdk -lhpr -lHCCore
|
|
SOURCES := $(wildcard *.c)
|
OBJS = $(patsubst %.c, %.o, $(SOURCES))
|
|
all: $(LIB_HCNETDISK_WRAPPER) $(DLIB_HCNETDISK_WRAPPER)
|
|
test: hcnetdisk_wrapper.c
|
|
#static lib
|
$(LIB_HCNETDISK_WRAPPER): $(OBJS)
|
$(AR) rv $@ $?
|
$(RANLIB) $@
|
|
#dynamic lib
|
$(DLIB_HCNETDISK_WRAPPER): $(SOURCES)
|
rm -f *.o
|
# $(CC) -fPIC $(CFLAGS) $(filter-out $(DLIBCOMMON), $^) -o $@ $(LDFLAGS) $(LDLIBS)
|
$(CC) -fPIC -shared $(CFLAGS) -o $@ $(filter-out $(DLIBCOMMON), $^)
|
|
#PREFIX is environment variable, but if it is not set, then set default value
|
ifeq ($(PREFIX),)
|
PREFIX := /usr/local
|
endif
|
|
# 使用方式: g++ test1.c -lcommon
|
install: $(DLIB_HCNETDISK_WRAPPER)
|
sudo install -d $(PREFIX)/lib/
|
sudo install -m 644 $^ $(PREFIX)/lib/
|
sudo install -d $(PREFIX)/include/
|
sudo install -m 644 include/* $(PREFIX)/include/
|
|
clean:
|
rm -f test *.o a.out core temp.* *.a *.so
|
|
|
|
|
include $(ROOT)/Make.common.inc
|