1include ../flags.mk 2include ../config.mk 3 4OUT_DIR := $(OO)/libseteec 5 6.PHONY: all libseteec clean 7 8all: libseteec 9install: libseteec 10 11LIB_NAME := libseteec 12MAJOR_VERSION := 0 13MINOR_VERSION := 1 14PATCH_VERSION := 0 15 16LIB_MAJOR := $(LIB_NAME).so.$(MAJOR_VERSION) 17LIB_MAJ_MIN := $(LIB_NAME).so.$(MAJOR_VERSION).$(MINOR_VERSION) 18LIB_MAJ_MIN_PAT := $(LIB_NAME).so.$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) 19LIBSETEEC_SO_LIBRARY := $(LIB_MAJ_MIN_PAT) 20LIBSETEEC_AR_LIBRARY := $(LIB_NAME).a 21 22LIBSETEEC_SRC_DIR := src 23 24LIBSETEEC_SRCS = se.c 25 26LIBSETEEC_INCLUDES = ${CURDIR}/include 27LIBSETEEC_INCLUDES += ${CURDIR}/../public 28 29LIBSETEEC_CFLAGS := $(addprefix -I, $(LIBSETEEC_INCLUDES)) \ 30 $(CFLAGS) -D_GNU_SOURCE -fPIC 31 32LIBSETEEC_LFLAGS := $(LDFLAGS) -L$(OUT_DIR)/../libteec -lteec -lpthread 33 34LIBSETEEC_OBJ_DIR := $(OUT_DIR) 35LIBSETEEC_OBJS := $(patsubst %.c,$(LIBSETEEC_OBJ_DIR)/%.o, $(LIBSETEEC_SRCS)) 36 37$(LIBSETEEC_OBJ_DIR)/%.o: ${LIBSETEEC_SRC_DIR}/%.c 38 $(VPREFIX)mkdir -p $(LIBSETEEC_OBJ_DIR) 39 @echo " CC $<" 40 $(VPREFIX)$(CC) $(LIBSETEEC_CFLAGS) -c $< -o $@ 41 42libseteec: $(OUT_DIR)/$(LIBSETEEC_SO_LIBRARY) 43 44$(OUT_DIR)/$(LIBSETEEC_SO_LIBRARY): $(LIBSETEEC_OBJS) 45 @echo " LINK $@" 46 $(VPREFIX)$(CC) -shared -Wl,-soname,$(LIB_MAJOR) -o $@ $+ $(LIBSETEEC_LFLAGS) 47 @echo "" 48 49libseteec: $(OUT_DIR)/$(LIBSETEEC_AR_LIBRARY) 50 51$(OUT_DIR)/$(LIBSETEEC_AR_LIBRARY): $(LIBSETEEC_OBJS) 52 @echo " AR $@" 53 $(VPREFIX)$(AR) rcs $@ $+ 54 55libseteec: 56 $(VPREFIX)ln -sf $(LIB_MAJ_MIN_PAT) $(OUT_DIR)/$(LIB_MAJ_MIN) 57 $(VPREFIX)ln -sf $(LIB_MAJ_MIN) $(OUT_DIR)/$(LIB_MAJOR) 58 $(VPREFIX)ln -sf $(LIB_MAJOR) $(OUT_DIR)/$(LIB_NAME).so 59 60################################################################################ 61# Cleaning up configuration 62################################################################################ 63clean: 64 $(RM) $(LIBSETEEC_OBJS) 65 $(RM) $(OUT_DIR)/$(LIB_MAJ_MIN_PAT) 66 $(RM) $(OUT_DIR)/$(LIB_MAJ_MIN) 67 $(RM) $(OUT_DIR)/$(LIB_MAJOR) 68 $(RM) $(OUT_DIR)/$(LIBSETEEC_SO_LIBRARY) 69 $(RM) $(OUT_DIR)/$(LIBSETEEC_AR_LIBRARY) 70 $(call rmdir,$(OUT_DIR)) 71 72