]>
Commit | Line | Data |
---|---|---|
f5955dda TT |
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 | ||
42c0b61c | 14 | all:: image |
f5955dda | 15 | |
3f546fcc | 16 | real-subdirs:: Makefile |
c13351f6 TT |
17 | $(E) " MKDIR elfshared" |
18 | $(Q) mkdir -p elfshared | |
f5955dda TT |
19 | |
20 | ELF_LIB = $(ELF_IMAGE).so.$(ELF_VERSION) | |
21 | ELF_SONAME = $(ELF_IMAGE).so.$(ELF_SO_VERSION) | |
22 | ||
23 | image: $(ELF_LIB) | |
24 | ||
25 | $(ELF_LIB): $(OBJS) | |
c13351f6 | 26 | $(E) " GEN_ELF_SOLIB $(ELF_LIB)" |
d5aa6a82 | 27 | $(Q) (cd elfshared; $(CC) --shared -o $(ELF_LIB) \ |
fd1677e8 | 28 | -L$(top_builddir)/../lib $(LDFLAGS_SHLIB) \ |
d5aa6a82 | 29 | -Wl,-h,$(ELF_SONAME) $(OBJS) $(ELF_OTHER_LIBS)) |
c13351f6 TT |
30 | $(Q) $(MV) elfshared/$(ELF_LIB) . |
31 | $(Q) $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) | |
5aa6c3f6 TT |
32 | $(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) \ |
33 | `echo $(my_dir) | sed -e 's;lib/;;'`/$(ELF_LIB) $(ELF_LIB)) | |
34 | $(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) $(ELF_LIB) $(ELF_IMAGE).so) | |
35 | $(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) $(ELF_LIB) $(ELF_SONAME)) | |
f5955dda TT |
36 | |
37 | installdirs-elf-lib:: | |
6d402278 | 38 | $(MKINSTALLDIRS) $(DESTDIR)$(ELF_INSTALL_DIR) \ |
f5955dda TT |
39 | $(DESTDIR)$(libdir) |
40 | ||
41 | installdirs:: installdirs-elf-lib | |
42 | ||
43 | install-shlibs install:: $(ELF_LIB) installdirs-elf-lib | |
44 | $(INSTALL_PROGRAM) $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) | |
f5955dda TT |
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 | |
20562a48 | 48 | -$(LDCONFIG) |
f5955dda | 49 | |
522798d3 TT |
50 | install-strip: install |
51 | $(STRIP) -x $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) | |
52 | ||
53 | install-shlibs-strip: install-shlibs | |
54 | $(STRIP) -x $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) | |
55 | ||
f5955dda TT |
56 | uninstall-shlibs uninstall:: |
57 | $(RM) -f $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) \ | |
58 | $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME) \ | |
59 | $(DESTDIR)$(libdir)/$(ELF_IMAGE).so | |
20562a48 | 60 | -$(LDCONFIG) |
f5955dda TT |
61 | |
62 | clean:: | |
63 | $(RM) -rf elfshared | |
64 | $(RM) -f $(ELF_LIB) | |
65 | $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) |