make: Add support for linking shared libs correctly

This commit is contained in:
Jan Lindemann 2002-07-02 12:49:50 +00:00 committed by Jan Lindemann
commit bf5ee92e61
4 changed files with 26 additions and 13 deletions

View file

@ -7,29 +7,29 @@
PREFIX = $(HOME)/dat/test/$(PROJECT)-$(shell cat $(TOPDIR)/VERSION)
VAR_PREFIX = $(PREFIX)/var
DOC_PREFIX = $(PREFIX)/doc/$(PROJECT)
EXEGROUP = $(shell id -g)
EXEGROUP = $(shell id -gn)
EXEOWNER = $(shell whoami)
EXEMODE = 770
CFGGROUP = $(shell id -g)
CFGGROUP = $(shell id -gn)
CFGOWNER = $(shell whoami)
CFGMODE = 660
CTRLGROUP = $(shell id -g)
CTRLGROUP = $(shell id -gn)
CTRLOWNER = $(shell whoami)
CTRLMODE = 770
INITGROUP = $(shell id -g)
INITGROUP = $(shell id -gn)
INITOWNER = $(shell whoami)
INITMODE = 770
LIBGROUP = $(shell id -g)
LIBGROUP = $(shell id -gn)
LIBOWNER = $(shell whoami)
LIBMODE = 770
HDRGROUP = $(shell id -g)
HDRGROUP = $(shell id -gn)
HDROWNER = $(shell whoami)
HDRMODE = 644
INITDIR = $(HOME)/bin
PIDDIR = $(VAR_PREFIX)/run
DAEMON_RUN_DIR = $(HOME)
DAEMON_RUN_USER = $(shell whoami)
DAEMON_RUN_GROUP = $(shell id -g)
DAEMON_RUN_GROUP = $(shell id -gn)
LOGNAME = $(shell whoami)-$(PROJECT)
DOWNLOADDIRS = root@cvs.jannet.de:/usr/local/httpd/htdocs/www.jannet.de_443/$(CUSTOMER)/projects/$(PROJECT)
CLIENT_INC_DIR = $(TOPDIR)/../shared/tools

View file

@ -144,7 +144,7 @@ CFLAGS += $(CFLAGS_DEBUG)
CPPFLAGS += $(CFLAGS_DEBUG)
endif
LIBDIR = $(MODDIR)/lib
LIBDIR = $(TOPDIR)/lib
INSTALLED_SHOBJS = $(addprefix $(INSTALL_LIBDIR)/,$(SHOBJS))
ifeq ($(USE_QT),true)
@ -192,10 +192,14 @@ RM = rm
AR = ar
ifdef INSTALL_LOG
INSTALL=$(MODDIR)/devutil/scripts/log_install.sh -l $(INSTALL_LOG)
LINK_LIB=$(MODDIR)/devutil/scripts/log_install.sh -L -l $(INSTALL_LOG)
else
ifndef INSTALL
INSTALL = install
endif
ifndef LINK_LIB
LINK_LIB=$(MODDIR)/devutil/scripts/log_install.sh -L
endif
endif

View file

@ -114,8 +114,8 @@ echo "export INSTALL_LOG=$INSTALL_LOG"
echo "mkdir -p `dirname $INSTALL_LOG`"
echo "> $INSTALL_LOG"
echo "make install"
echo "cat $INSTALL_LOG | sed \"s% \$RPM_BUILD_ROOT% %\" | grep -ve 'include\|devel' > $INSTALL_LOG.$NAME"
echo "cat $INSTALL_LOG | sed \"s% \$RPM_BUILD_ROOT% %\" | grep -e 'include\|devel' > $INSTALL_LOG.$NAME-devel"
echo "cat $INSTALL_LOG | sed \"s% \$RPM_BUILD_ROOT% %\" | grep -ve 'include\|devel\|make\|lib.*\.a$' > $INSTALL_LOG.$NAME"
echo "cat $INSTALL_LOG | sed \"s% \$RPM_BUILD_ROOT% %\" | grep -e 'include\|devel\|make\|lib.*\.a$' > $INSTALL_LOG.$NAME-devel"
#echo "install -m 755 $TOPDIR/lib/*.so \$RPM_BUILD_ROOT/opt/ytools/lib"
#echo "install -m 644 $TOPDIR/doc/ytools/dist/* \$RPM_BUILD_ROOT/usr/share/doc/packages/ytools"
#echo "install -m 644 $TOPDIR/COPYING \$RPM_BUILD_ROOT/usr/share/doc/packages/ytools"

View file

@ -72,10 +72,17 @@ $(LIBS):
$(INSTALL_HDRDIR) $(INSTALL_BINDIR) $(INSTALL_LIBDIR) $(INSTALL_MKDIR):
mkdir -p $@
$(INSTALLED_LIB_SO) $(INSTALLED_LIB_A): $(INSTALL_LIBDIR)
$(INSTALLED_LIB_SO) $(INSTALLED_LIB_A): libdir.done
$(INSTALLED_LINKS_SO) $(LINKS_SO):
cd $(dir $@); ln -sf $(notdir $(shell echo $@ | sed -e 's/\.so$$\|\.so.*$$//').$(SO_SUFFIX)) $(notdir $@)
libdir.done:
mkdir -p $(INSTALL_LIBDIR)
touch $@
$(LINKS_SO):
cd $(dir $@); ln -sf $(shell echo $@ | sed -e 's/\.so$$\|\.so.*$$//').$(SO_SUFFIX) $(notdir $@)
#$(INSTALLED_LINKS_SO) $(LINKS_SO):
# $(LINK_LIB) $(shell echo $@ | sed -e 's/\.so$$\|\.so.*$$//').$(SO_SUFFIX) $@
#$(INSTALL_BINDIR)/%.bin: %.bin
# $(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
@ -91,6 +98,8 @@ $(INSTALL_LIBDIR)/%.so: %.so
$(INSTALL) -o $(LIBOWNER) -g $(LIBGROUP) -m $(LIBMODE) $< $@
$(INSTALL_LIBDIR)/%.$(SO_SUFFIX): %.$(SO_SUFFIX)
$(INSTALL) -o $(LIBOWNER) -g $(LIBGROUP) -m $(LIBMODE) $< $@
$(INSTALL_LIBDIR)/%.a: %.a
$(INSTALL) -o $(LIBOWNER) -g $(LIBGROUP) -m $(LIBMODE) $< $@
$(INSTALL_HDRDIR)/%.h: %.h
$(INSTALL) -o $(HDROWNER) -g $(HDRGROUP) -m $(HDRMODE) $< $@