blob: 8384d5b169a6f8fd905ea77c675319aac151d377 [file] [log] [blame]
include ../flags.mk
include ../config.mk
OUT_DIR := $(OO)/libseteec
.PHONY: all libseteec clean
all: libseteec
install: libseteec
LIB_NAME := libseteec
MAJOR_VERSION := 0
MINOR_VERSION := 1
PATCH_VERSION := 0
LIB_MAJOR := $(LIB_NAME).so.$(MAJOR_VERSION)
LIB_MAJ_MIN := $(LIB_NAME).so.$(MAJOR_VERSION).$(MINOR_VERSION)
LIB_MAJ_MIN_PAT := $(LIB_NAME).so.$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)
LIBSETEEC_SO_LIBRARY := $(LIB_MAJ_MIN_PAT)
LIBSETEEC_AR_LIBRARY := $(LIB_NAME).a
LIBSETEEC_SRC_DIR := src
LIBSETEEC_SRCS = se.c
LIBSETEEC_INCLUDES = ${CURDIR}/include
LIBSETEEC_INCLUDES += ${CURDIR}/../public
LIBSETEEC_CFLAGS := $(addprefix -I, $(LIBSETEEC_INCLUDES)) \
$(CFLAGS) -D_GNU_SOURCE -fPIC
LIBSETEEC_LFLAGS := $(LDFLAGS) -L$(OUT_DIR)/../libteec -lteec -lpthread
LIBSETEEC_OBJ_DIR := $(OUT_DIR)
LIBSETEEC_OBJS := $(patsubst %.c,$(LIBSETEEC_OBJ_DIR)/%.o, $(LIBSETEEC_SRCS))
$(LIBSETEEC_OBJ_DIR)/%.o: ${LIBSETEEC_SRC_DIR}/%.c
$(VPREFIX)mkdir -p $(LIBSETEEC_OBJ_DIR)
@echo " CC $<"
$(VPREFIX)$(CC) $(LIBSETEEC_CFLAGS) -c $< -o $@
libseteec: $(OUT_DIR)/$(LIBSETEEC_SO_LIBRARY)
$(OUT_DIR)/$(LIBSETEEC_SO_LIBRARY): $(LIBSETEEC_OBJS)
@echo " LINK $@"
$(VPREFIX)$(CC) -shared -Wl,-soname,$(LIB_MAJOR) -o $@ $+ $(LIBSETEEC_LFLAGS)
@echo ""
libseteec: $(OUT_DIR)/$(LIBSETEEC_AR_LIBRARY)
$(OUT_DIR)/$(LIBSETEEC_AR_LIBRARY): $(LIBSETEEC_OBJS)
@echo " AR $@"
$(VPREFIX)$(AR) rcs $@ $+
libseteec:
$(VPREFIX)ln -sf $(LIB_MAJ_MIN_PAT) $(OUT_DIR)/$(LIB_MAJ_MIN)
$(VPREFIX)ln -sf $(LIB_MAJ_MIN) $(OUT_DIR)/$(LIB_MAJOR)
$(VPREFIX)ln -sf $(LIB_MAJOR) $(OUT_DIR)/$(LIB_NAME).so
################################################################################
# Cleaning up configuration
################################################################################
clean:
$(RM) $(LIBSETEEC_OBJS)
$(RM) $(OUT_DIR)/$(LIB_MAJ_MIN_PAT)
$(RM) $(OUT_DIR)/$(LIB_MAJ_MIN)
$(RM) $(OUT_DIR)/$(LIB_MAJOR)
$(RM) $(OUT_DIR)/$(LIBSETEEC_SO_LIBRARY)
$(RM) $(OUT_DIR)/$(LIBSETEEC_AR_LIBRARY)
$(call rmdir,$(OUT_DIR))