MT#58307 build: Normalize variable handling

Make it conform to common expectations, where:

- Use DESTDIR for the staged installation directory.
- Use PREFIX to set the installation prefix for all pathnames,
  and include it in the other DIR variables.
- Rename LIBSOVER to LIBSONAME.
- Rename HDR to HDRDIR to make the variable more clear.
- Add LIBSONAME for lib<name>.so.<version>.
- Do not specify the target name if it matches the source.
- Add spaces around Makefile variable assignments.
- Make VERSION parsing more robust against coding style changes.
- Pass PREFIX from the environment to «make install», which avoids a
  debhelper override.

Change-Id: I6d5181dd34cd076966ed02e7ae9701286e4673cf
mr12.1
Guillem Jover 2 years ago
parent f71a0c42e6
commit 5f8c1ae689

@ -1,12 +1,12 @@
export LIBNAME=libtcap
export VERSION=1
export LIBSO=$(LIBNAME).so
export LIBSOVER=$(LIBNAME).so.$(VERSION)
export LIBNAME = libtcap
export VERSION = 1
export LIBSO = $(LIBNAME).so
export LIBSONAME = $(LIBSO).$(VERSION)
LIBDIR=lib
HDR=include/tcap
PREFIX ?= /usr/local
HDRDIR ?= $(PREFIX)/include/tcap
LIBDIR ?= $(PREFIX)/lib
DESTDIR?=/usr/local
all:
$(MAKE) -C asn1
@ -26,10 +26,10 @@ clean:
$(MAKE) -C tests clean
install: all
mkdir -p $(DESTDIR)/$(HDR)
cp include/*.h $(DESTDIR)/$(HDR)
mkdir -p $(DESTDIR)/$(LIBDIR)
cp src/$(LIBSOVER) $(DESTDIR)/$(LIBDIR)/$(LIBSOVER)
ln -s $(LIBSOVER) $(DESTDIR)/$(LIBDIR)/$(LIBSO)
mkdir -p $(DESTDIR)$(HDRDIR)
cp include/*.h $(DESTDIR)$(HDRDIR)
mkdir -p $(DESTDIR)$(LIBDIR)
cp src/$(LIBSONAME) $(DESTDIR)$(LIBDIR)
ln -s $(LIBSONAME) $(DESTDIR)$(LIBDIR)/$(LIBSO)
.PHONY: all regenerate-asn1 clean install

@ -1,2 +1,2 @@
debian/tmp/include/tcap /usr/include/
debian/tmp/lib/*.so /usr/lib/
debian/tmp/usr/include/tcap /usr/include/
debian/tmp/usr/lib/*.so /usr/lib/

@ -1 +1 @@
debian/tmp/lib/*.so.* /usr/lib/
debian/tmp/usr/lib/*.so.* /usr/lib/

2
debian/rules vendored

@ -2,5 +2,7 @@
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1
export PREFIX = /usr
%:
dh $@

@ -4,7 +4,7 @@ CPPFLAGS += -I../asn1 -I../include
CFLAGS := -g -Wall -O3
CFLAGS += -fPIC -D_DEFAULT_SOURCE
LDFLAGS := -O3
LDFLAGS += -shared -fPIC -Wl,-soname,$(LIBNAME).so.$(VERSION)
LDFLAGS += -shared -fPIC -Wl,-soname,$(LIBSONAME)
LDFLAGS += -Wl,--version-script=libtcap.map
OBJS=tcap.o
@ -15,13 +15,13 @@ OBJS=tcap.o
all: $(LIBSO)
$(LIBSOVER): $(OBJS) ../asn1/libtcap-asn.a
$(LIBSONAME): $(OBJS) ../asn1/libtcap-asn.a
$(CC) $(CFLAGS) -o $@ $(OBJS) ../asn1/libtcap-asn.a $(LDFLAGS)
$(LIBSO): $(LIBSOVER)
ln -fs $(LIBSOVER) $(LIBSO)
$(LIBSO): $(LIBSONAME)
ln -fs $(LIBSONAME) $(LIBSO)
clean:
rm -f $(OBJS)
rm -f $(LIBSO)
rm -f $(LIBSOVER)
rm -f $(LIBSONAME)

@ -44,8 +44,8 @@ cp -r "${source_path}"/.git "${CHECK_DIR}/source.$new_version_norm"
make
)
old_soversion="$(grep VERSION= "${CHECK_DIR}/source.$old_version_norm/Makefile")"
new_soversion="$(grep VERSION= "${CHECK_DIR}/source.$new_version_norm/Makefile")"
old_soversion="$(sed -ne 's/^VERSION *= *//p' "${CHECK_DIR}/source.$old_version_norm/Makefile")"
new_soversion="$(sed -ne 's/^VERSION *= *//p' "${CHECK_DIR}/source.$new_version_norm/Makefile")"
if [ "${old_soversion}" != "${new_soversion}" ]; then
echo "The SOVERSION is different, skipping API/ABI tests."

Loading…
Cancel
Save