# $Id: Makefile 357 2007-06-26 14:28:49Z pkun $ include ../Rules.make ifdef VERSION_SCRIPT LDFLAGS += --version-script=$(VERSION_SCRIPT) endif CFLAGS += $(CFLAGS_SO) WL := -Wl, WL_RPATH_LINK := $(WL)-rpath-link, I := $(addprefix -I, $(INC_PATH)) L := $(addprefix -L, $(LIB_PATH)) WL_L := $(addprefix $(WL_RPATH_LINK), $(LIB_PATH)) WL_LDFLAGS := $(addprefix $(WL), $(LDFLAGS)) A := lib$(NAME).a LDSO := lib$(NAME).so SONAME := $(LDSO).$(MAJOR) SO := $(SONAME).$(MINOR) OBJ := $(patsubst %.c, %.o, $(SRC)) ifndef NO_SO ALL += $(SO) endif ifndef NO_A ALL += $(A) endif ############################################ all: locale_all_pre $(ALL) locale_all locale_all_post $(SO): $(OBJ) $(CC) -Wl,-soname,$(SONAME) -shared -o $(@) $(^) $(LOBJS) $(LIBS) $(L) $(WL_L) $(WL_LDFLAGS) ln -sf $(@) $(SONAME) ln -sf $(SONAME) $(LDSO) $(A): $(OBJ) for l in $(LIBS_STATIC); do\ objs=`$(AR) t $$l`;\ $(AR) x $$l;\ $(AR) $(ARFLAGS) $(@) $$objs;\ rm $$objs;\ done;\ $(AR) $(ARFLAGS) $(@) $(^) $(OBJ): %.o : %.c $(CC) -c $(<) $(I) $(CFLAGS) $(CPPFLAGS) include $(wildcard *.d) clean: locale_clean $(RM) *.o *.d *.a *.so *.so.* install: all locale_install_pre install_lib locale_install locale_install_post install_lib: ifndef NO_INSTALL install -d $(INSTALL_LIB_DIR) ifndef NO_A install $(A) $(INSTALL_LIB_DIR) endif ifndef NO_SO install -m 0755 $(SO) $(INSTALL_LIB_DIR) ln -sf $(SO) $(INSTALL_LIB_DIR)/$(SONAME) ln -sf $(SONAME) $(INSTALL_LIB_DIR)/$(LDSO) endif endif .PHONY: all clean install locale_all_pre locale_all locale_all_post locale_install_pre locale_install locale_install_post locale_clean