]>
Commit | Line | Data |
---|---|---|
50e1e10f 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 | |
74becf3c | 8 | # ELF_SO_VERSION = 1 |
50e1e10f TT |
9 | # ELF_IMAGE = libce |
10 | # ELF_MYDIR = et | |
11 | # ELF_INSTALL_DIR = $(SHLIBDIR) | |
21c84b71 | 12 | # ELF_OTHER_LIBS = -lc |
50e1e10f TT |
13 | |
14 | all:: elfshared image | |
15 | ||
16 | subdirs:: elfshared | |
17 | ||
18 | elfshared: | |
19 | mkdir elfshared | |
20 | ||
21 | ELF_LIB = $(ELF_IMAGE).so.$(ELF_VERSION) | |
297f47a1 | 22 | ELF_SONAME = $(ELF_IMAGE).so.$(ELF_SO_VERSION) |
50e1e10f TT |
23 | |
24 | image: $(ELF_LIB) | |
25 | ||
26 | $(ELF_LIB): $(OBJS) | |
21c84b71 TT |
27 | (cd elfshared; $(CC) --shared -o $(ELF_LIB) -Wl,-soname,$(ELF_SONAME) \ |
28 | $(OBJS) $(ELF_OTHER_LIBS)) | |
50e1e10f | 29 | $(MV) elfshared/$(ELF_LIB) . |
297f47a1 | 30 | $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) |
50e1e10f TT |
31 | $(LN) $(ELF_LIB) ../$(ELF_LIB) |
32 | $(LN) ../$(ELF_LIB) ../$(ELF_IMAGE).so | |
297f47a1 | 33 | $(LN) ../$(ELF_LIB) ../$(ELF_SONAME) |
50e1e10f | 34 | |
1e3472c5 TT |
35 | installdirs-elf-lib:: |
36 | $(top_srcdir)/mkinstalldirs $(DESTDIR)$(ELF_INSTALL_DIR) \ | |
37 | $(DESTDIR)$(ulibdir) | |
50e1e10f | 38 | |
1e3472c5 TT |
39 | installdirs:: installdirs-elf-lib |
40 | ||
41 | install-shlibs install:: $(ELF_LIB) installdirs-elf-lib | |
50e1e10f | 42 | $(INSTALL_PROGRAM) $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) |
74becf3c TT |
43 | $(STRIP) --strip-debug \ |
44 | $(DESTDIR)$(DLL_INSTALL_DIR)/$(ELF_LIB) | |
1e3472c5 TT |
45 | $(LN_S) -f $(ELF_LIB) $(DESTDIR)$(DLL_INSTALL_DIR)/$(ELF_SONAME) |
46 | $(LN_S) -f $(DLL_INSTALL_DIR)/$(ELF_SONAME) \ | |
47 | $(DESTDIR)$(ulibdir)/$(ELF_IMAGE).so | |
50e1e10f TT |
48 | -ldconfig |
49 | ||
50 | clean:: | |
51 | $(RM) -rf elfshared | |
52 | $(RM) -f $(ELF_LIB) | |
62c06f79 | 53 | $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) |