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