119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# 219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# This is a Makefile stub which handles the creation of Linux ELF shared 319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# libraries. 419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# 519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# In order to use this stub, the following makefile variables must be defined. 619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# 719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# ELF_VERSION = 1.0 819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# ELF_SO_VERSION = 1 919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# ELF_IMAGE = libce 1019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# ELF_MYDIR = et 1119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# ELF_INSTALL_DIR = $(SHLIBDIR) 1219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project# ELF_OTHER_LIBS = -lc 1319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 1419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectall:: image 1519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 1619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectreal-subdirs:: Makefile 173984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(E) " MKDIR elfshared" 183984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) mkdir -p elfshared 1919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source ProjectELF_LIB = $(ELF_IMAGE).so.$(ELF_VERSION) 2119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source ProjectELF_SONAME = $(ELF_IMAGE).so.$(ELF_SO_VERSION) 2219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectimage: $(ELF_LIB) 2419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 2519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project$(ELF_LIB): $(OBJS) 263984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(E) " GEN_ELF_SOLIB $(ELF_LIB)" 273984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) (cd elfshared; $(CC) --shared -o $(ELF_LIB) $(LDFLAGS) \ 2819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project -Wl,-soname,$(ELF_SONAME) $(OBJS) $(ELF_OTHER_LIBS)) 293984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) $(MV) elfshared/$(ELF_LIB) . 303984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) 318558eab78390d1924cd6b255686ceef133f294d5Ken Sumrall $(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) \ 328558eab78390d1924cd6b255686ceef133f294d5Ken Sumrall `echo $(my_dir) | sed -e 's;lib/;;'`/$(ELF_LIB) $(ELF_LIB)) 338558eab78390d1924cd6b255686ceef133f294d5Ken Sumrall $(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) $(ELF_LIB) $(ELF_IMAGE).so) 348558eab78390d1924cd6b255686ceef133f294d5Ken Sumrall $(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) $(ELF_LIB) $(ELF_SONAME)) 3519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 3619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectinstalldirs-elf-lib:: 373984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(E) " MKINSTALLDIRS $(ELF_INSTALL_DIR) $(libdir)" 383984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) $(MKINSTALLDIRS) $(DESTDIR)$(ELF_INSTALL_DIR) \ 3919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project $(DESTDIR)$(libdir) 4019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 4119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectinstalldirs:: installdirs-elf-lib 4219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 4319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectinstall-shlibs install:: $(ELF_LIB) installdirs-elf-lib 443984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(E) " INSTALL-ELF-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)" 453984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) $(INSTALL_PROGRAM) $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) 463984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(E) " SYMLINK $(ELF_INSTALL_DIR)/$(ELF_SONAME)" 473984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) $(LN_S) -f $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME) 483984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(E) " SYMLINK $(libdir)/$(ELF_IMAGE).so" 493984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) if test "$(ELF_INSTALL_DIR)" = "$(libdir)"; then \ 503984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(LN_S) -f $(ELF_SONAME) $(DESTDIR)$(libdir)/$(ELF_IMAGE).so ; \ 513984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt else \ 523984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(LN_S) -f $(ELF_INSTALL_DIR)/$(ELF_SONAME) \ 533984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(DESTDIR)$(libdir)/$(ELF_IMAGE).so; \ 543984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt fi 553984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(E) " LDCONFIG" 563984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) -$(LDCONFIG) 5719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 5819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectinstall-strip: install 593984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(E) " STRIP-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)" 603984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) $(STRIP) --strip-unneeded --remove-section=.comment \ 6119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project --remove-section=.note $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) 6219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 6319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectinstall-shlibs-strip: install-shlibs 643984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(E) " STRIP-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)" 653984b61df41c68966bdfbb2a5e5a45ef4b9a536cDmitry Shmidt $(Q) $(STRIP) --strip-unneeded --remove-section=.comment \ 6619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project --remove-section=.note $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) 6719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 6819dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectuninstall-shlibs uninstall:: 6919dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project $(RM) -f $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) \ 7019dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME) \ 7119dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project $(DESTDIR)$(libdir)/$(ELF_IMAGE).so 7219dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project -$(LDCONFIG) 7319dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project 7419dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Projectclean:: 7519dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project $(RM) -rf elfshared 7619dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project $(RM) -f $(ELF_LIB) 7719dacda2b02bb08c0ffb649f84526b249c749279The Android Open Source Project $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) 78