# # 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