xref: /aosp_15_r20/external/e2fsprogs/lib/Makefile.solaris-lib (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard Worker#
2*6a54128fSAndroid Build Coastguard Worker# This is a Makefile stub which handles the creation of Linux ELF shared
3*6a54128fSAndroid Build Coastguard Worker# libraries.
4*6a54128fSAndroid Build Coastguard Worker#
5*6a54128fSAndroid Build Coastguard Worker# In order to use this stub, the following makefile variables must be defined.
6*6a54128fSAndroid Build Coastguard Worker#
7*6a54128fSAndroid Build Coastguard Worker# ELF_VERSION = 1.0
8*6a54128fSAndroid Build Coastguard Worker# ELF_SO_VERSION = 1
9*6a54128fSAndroid Build Coastguard Worker# ELF_IMAGE = libce
10*6a54128fSAndroid Build Coastguard Worker# ELF_MYDIR = et
11*6a54128fSAndroid Build Coastguard Worker# ELF_INSTALL_DIR = $(SHLIBDIR)
12*6a54128fSAndroid Build Coastguard Worker# ELF_OTHER_LIBS = -lc
13*6a54128fSAndroid Build Coastguard Worker
14*6a54128fSAndroid Build Coastguard Workerall:: image
15*6a54128fSAndroid Build Coastguard Worker
16*6a54128fSAndroid Build Coastguard Workerreal-subdirs:: Makefile
17*6a54128fSAndroid Build Coastguard Worker	$(E) "	MKDIR elfshared"
18*6a54128fSAndroid Build Coastguard Worker	$(Q) mkdir -p elfshared
19*6a54128fSAndroid Build Coastguard Worker
20*6a54128fSAndroid Build Coastguard WorkerELF_LIB = $(ELF_IMAGE).so.$(ELF_VERSION)
21*6a54128fSAndroid Build Coastguard WorkerELF_SONAME = $(ELF_IMAGE).so.$(ELF_SO_VERSION)
22*6a54128fSAndroid Build Coastguard Worker
23*6a54128fSAndroid Build Coastguard Workerimage:		$(ELF_LIB)
24*6a54128fSAndroid Build Coastguard Worker
25*6a54128fSAndroid Build Coastguard Worker$(ELF_LIB): $(OBJS)
26*6a54128fSAndroid Build Coastguard Worker	$(E) "	GEN_ELF_SOLIB $(ELF_LIB)"
27*6a54128fSAndroid Build Coastguard Worker	$(Q) (cd elfshared; $(CC) --shared -o $(ELF_LIB) \
28*6a54128fSAndroid Build Coastguard Worker		-L$(top_builddir)/../lib $(LDFLAGS_SHLIB) \
29*6a54128fSAndroid Build Coastguard Worker		-Wl,-h,$(ELF_SONAME) $(OBJS) $(ELF_OTHER_LIBS))
30*6a54128fSAndroid Build Coastguard Worker	$(Q) $(MV) elfshared/$(ELF_LIB) .
31*6a54128fSAndroid Build Coastguard Worker	$(Q) $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME)
32*6a54128fSAndroid Build Coastguard Worker	$(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) \
33*6a54128fSAndroid Build Coastguard Worker		`echo $(my_dir) | sed -e 's;lib/;;'`/$(ELF_LIB) $(ELF_LIB))
34*6a54128fSAndroid Build Coastguard Worker	$(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) $(ELF_LIB) $(ELF_IMAGE).so)
35*6a54128fSAndroid Build Coastguard Worker	$(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) $(ELF_LIB) $(ELF_SONAME))
36*6a54128fSAndroid Build Coastguard Worker
37*6a54128fSAndroid Build Coastguard Workerinstalldirs-elf-lib::
38*6a54128fSAndroid Build Coastguard Worker	$(MKDIR_P) $(DESTDIR)$(ELF_INSTALL_DIR) \
39*6a54128fSAndroid Build Coastguard Worker		$(DESTDIR)$(libdir)
40*6a54128fSAndroid Build Coastguard Worker
41*6a54128fSAndroid Build Coastguard Workerinstalldirs:: installdirs-elf-lib
42*6a54128fSAndroid Build Coastguard Worker
43*6a54128fSAndroid Build Coastguard Workerinstall-shlibs install:: $(ELF_LIB) installdirs-elf-lib
44*6a54128fSAndroid Build Coastguard Worker	$(INSTALL_PROGRAM) $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
45*6a54128fSAndroid Build Coastguard Worker	$(LN_S) -f $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME)
46*6a54128fSAndroid Build Coastguard Worker	$(LN_S) -f $(ELF_INSTALL_DIR)/$(ELF_SONAME) \
47*6a54128fSAndroid Build Coastguard Worker		$(DESTDIR)$(libdir)/$(ELF_IMAGE).so
48*6a54128fSAndroid Build Coastguard Worker	-$(LDCONFIG)
49*6a54128fSAndroid Build Coastguard Worker
50*6a54128fSAndroid Build Coastguard Workerinstall-strip: install
51*6a54128fSAndroid Build Coastguard Worker	$(STRIP) -x $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
52*6a54128fSAndroid Build Coastguard Worker
53*6a54128fSAndroid Build Coastguard Workerinstall-shlibs-strip:: install-shlibs
54*6a54128fSAndroid Build Coastguard Worker	$(STRIP) -x $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
55*6a54128fSAndroid Build Coastguard Worker
56*6a54128fSAndroid Build Coastguard Workeruninstall-shlibs uninstall::
57*6a54128fSAndroid Build Coastguard Worker	$(RM) -f $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) \
58*6a54128fSAndroid Build Coastguard Worker		$(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME) \
59*6a54128fSAndroid Build Coastguard Worker		$(DESTDIR)$(libdir)/$(ELF_IMAGE).so
60*6a54128fSAndroid Build Coastguard Worker	-$(LDCONFIG)
61*6a54128fSAndroid Build Coastguard Worker
62*6a54128fSAndroid Build Coastguard Workerclean::
63*6a54128fSAndroid Build Coastguard Worker	$(RM) -rf elfshared
64*6a54128fSAndroid Build Coastguard Worker	$(RM) -f $(ELF_LIB)
65*6a54128fSAndroid Build Coastguard Worker	$(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME)
66