mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-12-01 14:04:18 +08:00
3f546fcc27
The previous fix which fixed the problem with GNU make 3.81 building all of the library object files caused GNU make 3.80 fail because the subdirectories (such as elfshared) were not getting created. This fix should allow the Makefiles to work with both GNU make 3.80 and GNU make 3.81.
73 lines
2.2 KiB
Makefile
73 lines
2.2 KiB
Makefile
#
|
|
# This is a Makefile stub which handles the creation of Linux ELF shared
|
|
# libraries.
|
|
#
|
|
# In order to use this stub, the following makefile variables must be defined.
|
|
#
|
|
# ELF_VERSION = 1.0
|
|
# ELF_SO_VERSION = 1
|
|
# ELF_IMAGE = libce
|
|
# ELF_MYDIR = et
|
|
# ELF_INSTALL_DIR = $(SHLIBDIR)
|
|
# ELF_OTHER_LIBS = -lc
|
|
|
|
all:: image
|
|
|
|
real-subdirs:: Makefile
|
|
@echo " MKDIR elfshared"
|
|
@mkdir -p elfshared
|
|
|
|
ELF_LIB = $(ELF_IMAGE).so.$(ELF_VERSION)
|
|
ELF_SONAME = $(ELF_IMAGE).so.$(ELF_SO_VERSION)
|
|
|
|
image: $(ELF_LIB)
|
|
|
|
$(ELF_LIB): $(OBJS)
|
|
@echo " GEN_ELF_SOLIB $(ELF_LIB)"
|
|
@(cd elfshared; $(CC) --shared -o $(ELF_LIB) $(LDFLAGS) \
|
|
-Wl,-soname,$(ELF_SONAME) $(OBJS) $(ELF_OTHER_LIBS))
|
|
@$(MV) elfshared/$(ELF_LIB) .
|
|
@$(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME)
|
|
@$(LN) $(ELF_LIB) ../$(ELF_LIB)
|
|
@$(LN) ../$(ELF_LIB) ../$(ELF_IMAGE).so
|
|
@$(LN) ../$(ELF_LIB) ../$(ELF_SONAME)
|
|
|
|
installdirs-elf-lib::
|
|
@echo " MKINSTALLDIRS $(ELF_INSTALL_DIR) $(libdir)"
|
|
@$(MKINSTALLDIRS) $(DESTDIR)$(ELF_INSTALL_DIR) \
|
|
$(DESTDIR)$(libdir)
|
|
|
|
installdirs:: installdirs-elf-lib
|
|
|
|
install-shlibs install:: $(ELF_LIB) installdirs-elf-lib
|
|
@echo " INSTALL-ELF-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)"
|
|
@$(INSTALL_PROGRAM) $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
|
|
@echo " SYMLINK $(ELF_INSTALL_DIR)/$(ELF_SONAME)"
|
|
@$(LN_S) -f $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME)
|
|
@echo " SYMLINK $(libdir)/$(ELF_IMAGE).so"
|
|
@$(LN_S) -f $(ELF_INSTALL_DIR)/$(ELF_SONAME) \
|
|
$(DESTDIR)$(libdir)/$(ELF_IMAGE).so
|
|
@echo " LDCONFIG"
|
|
@-$(LDCONFIG)
|
|
|
|
install-strip: install
|
|
@echo " STRIP-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)"
|
|
@$(STRIP) --strip-unneeded --remove-section=.comment \
|
|
--remove-section=.note $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
|
|
|
|
install-shlibs-strip: install-shlibs
|
|
@echo " STRIP-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)"
|
|
@$(STRIP) --strip-unneeded --remove-section=.comment \
|
|
--remove-section=.note $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
|
|
|
|
uninstall-shlibs uninstall::
|
|
$(RM) -f $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) \
|
|
$(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME) \
|
|
$(DESTDIR)$(libdir)/$(ELF_IMAGE).so
|
|
-$(LDCONFIG)
|
|
|
|
clean::
|
|
$(RM) -rf elfshared
|
|
$(RM) -f $(ELF_LIB)
|
|
$(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME)
|