Makefile.elf-lib revision 21c84b71e205b5ab13f14343da5645dcc985856d
150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o# 250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o# This is a Makefile stub which handles the creation of Linux ELF shared 350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o# libraries. 450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o# 550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o# In order to use this stub, the following makefile variables must be defined. 650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o# 750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o# ELF_VERSION = 1.0 874becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o# ELF_SO_VERSION = 1 950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o# ELF_IMAGE = libce 1050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o# ELF_MYDIR = et 1150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o# ELF_INSTALL_DIR = $(SHLIBDIR) 1221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o# ELF_OTHER_LIBS = -lc 1350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 1450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'oall:: elfshared image 1550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 1650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'osubdirs:: elfshared 1750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 1850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'oelfshared: 1950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o mkdir elfshared 2050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 2150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'oELF_LIB = $(ELF_IMAGE).so.$(ELF_VERSION) 22297f47a13edce54d08517182e714083a0a7f196cTheodore Ts'oELF_SONAME = $(ELF_IMAGE).so.$(ELF_SO_VERSION) 2350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 2450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'oimage: $(ELF_LIB) 2550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 2650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o$(ELF_LIB): $(OBJS) 2721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o (cd elfshared; $(CC) --shared -o $(ELF_LIB) -Wl,-soname,$(ELF_SONAME) \ 2821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o $(OBJS) $(ELF_OTHER_LIBS)) 2950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o $(MV) elfshared/$(ELF_LIB) . 30297f47a13edce54d08517182e714083a0a7f196cTheodore Ts'o $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) 3150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o $(LN) $(ELF_LIB) ../$(ELF_LIB) 3250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o $(LN) ../$(ELF_LIB) ../$(ELF_IMAGE).so 33297f47a13edce54d08517182e714083a0a7f196cTheodore Ts'o $(LN) ../$(ELF_LIB) ../$(ELF_SONAME) 3450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 351e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'oinstalldirs-elf-lib:: 361e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o $(top_srcdir)/mkinstalldirs $(DESTDIR)$(ELF_INSTALL_DIR) \ 371e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o $(DESTDIR)$(ulibdir) 3850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 391e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'oinstalldirs:: installdirs-elf-lib 401e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 411e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'oinstall-shlibs install:: $(ELF_LIB) installdirs-elf-lib 4250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o $(INSTALL_PROGRAM) $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) 4374becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o $(STRIP) --strip-debug \ 4474becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o $(DESTDIR)$(DLL_INSTALL_DIR)/$(ELF_LIB) 451e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o $(LN_S) -f $(ELF_LIB) $(DESTDIR)$(DLL_INSTALL_DIR)/$(ELF_SONAME) 461e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o $(LN_S) -f $(DLL_INSTALL_DIR)/$(ELF_SONAME) \ 471e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o $(DESTDIR)$(ulibdir)/$(ELF_IMAGE).so 4850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o -ldconfig 4950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 5050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'oclean:: 5150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o $(RM) -rf elfshared 5250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o $(RM) -f $(ELF_LIB) 5362c06f790c4920ec2721515e36d599751f6d4d2dTheodore Ts'o $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) 54