Whamcloud - gitweb
Many files:
[tools/e2fsprogs.git] / lib / Makefile.elf-lib
1 #
2 # This is a Makefile stub which handles the creation of Linux ELF shared
3 # libraries.
4 #
5 # In order to use this stub, the following makefile variables must be defined.
6
7 # ELF_VERSION = 1.0
8 # ELF_SO_VERSION = 1
9 # ELF_IMAGE = libce
10 # ELF_MYDIR = et
11 # ELF_INSTALL_DIR = $(SHLIBDIR)
12 # ELF_OTHER_LIBS = -lc
13
14 all:: elfshared image
15
16 subdirs:: elfshared
17
18 elfshared:
19         mkdir elfshared
20
21 ELF_LIB = $(ELF_IMAGE).so.$(ELF_VERSION)
22 ELF_SONAME = $(ELF_IMAGE).so.$(ELF_SO_VERSION)
23
24 image:          $(ELF_LIB)
25
26 $(ELF_LIB): $(OBJS)
27         (cd elfshared; $(CC) --shared -o $(ELF_LIB) -Wl,-soname,$(ELF_SONAME) \
28                 $(OBJS) $(ELF_OTHER_LIBS))
29         $(MV) elfshared/$(ELF_LIB) .
30         $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME)
31         $(LN) $(ELF_LIB) ../$(ELF_LIB)
32         $(LN) ../$(ELF_LIB) ../$(ELF_IMAGE).so
33         $(LN) ../$(ELF_LIB) ../$(ELF_SONAME)
34
35 installdirs-elf-lib::
36         $(top_srcdir)/mkinstalldirs $(DESTDIR)$(ELF_INSTALL_DIR) \
37                 $(DESTDIR)$(libdir)
38
39 installdirs:: installdirs-elf-lib
40
41 install-shlibs install:: $(ELF_LIB) installdirs-elf-lib
42         $(INSTALL_PROGRAM) $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
43         $(STRIP) --strip-debug \
44                 $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
45         $(LN_S) -f $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME)
46         $(LN_S) -f $(ELF_INSTALL_DIR)/$(ELF_SONAME) \
47                 $(DESTDIR)$(libdir)/$(ELF_IMAGE).so
48         -ldconfig
49
50 uninstall-shlibs uninstall::
51         $(RM) -f $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) \
52                 $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME) \
53                 $(DESTDIR)$(libdir)/$(ELF_IMAGE).so
54         -ldconfig
55
56 clean::
57         $(RM) -rf elfshared
58         $(RM) -f $(ELF_LIB)
59         $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME)