Skip to content

Commit b1ed73b

Browse files
committed
Set library SONAME with version
1 parent 40556b3 commit b1ed73b

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

Makefile

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
default: build/debug/mujs build/debug/mujs-pp
66

7+
SOVERSION = 1
8+
79
CFLAGS = -std=c99 -pedantic -Wall -Wextra -Wno-unused-parameter
810

911
OPTIM = -O3
@@ -84,7 +86,8 @@ build/sanitize/mujs: main.c one.c $(SRCS) $(HDRS)
8486

8587
build/debug/libmujs.$(SO): one.c $(SRCS) $(HDRS)
8688
@mkdir -p $(@D)
87-
$(CC) $(CFLAGS) -g -fPIC -shared -o $@ one.c -lm
89+
$(CC) $(CFLAGS) -g -fPIC -shared -Wl,-soname,libmujs.so.$(SOVERSION) -o $@.$(SOVERSION) one.c -lm
90+
ln -sf libmujs.so.$(SOVERSION) $@
8891
build/debug/libmujs.o: one.c $(SRCS) $(HDRS)
8992
@mkdir -p $(@D)
9093
$(CC) $(CFLAGS) -g -c -o $@ one.c
@@ -97,7 +100,8 @@ build/debug/mujs-pp: pp.c build/debug/libmujs.o
97100

98101
build/release/libmujs.$(SO): one.c $(SRCS) $(HDRS)
99102
@mkdir -p $(@D)
100-
$(CC) $(CFLAGS) $(OPTIM) -fPIC -shared -o $@ one.c -lm
103+
$(CC) $(CFLAGS) $(OPTIM) -fPIC -shared -Wl,-soname,libmujs.so.$(SOVERSION) -o $@.$(SOVERSION) one.c -lm
104+
ln -sf libmujs.so.$(SOVERSION) $@
101105
build/release/libmujs.o: one.c $(SRCS) $(HDRS)
102106
@mkdir -p $(@D)
103107
$(CC) $(CFLAGS) $(OPTIM) -c -o $@ one.c
@@ -131,7 +135,9 @@ install-static: install-common build/release/libmujs.a
131135
install -m 644 build/release/libmujs.a $(DESTDIR)$(libdir)
132136

133137
install-shared: install-common build/release/libmujs.$(SO)
134-
install -m 755 build/release/libmujs.$(SO) $(DESTDIR)$(libdir)
138+
install -m 755 build/release/libmujs.$(SO).$(SOVERSION) $(DESTDIR)$(libdir)
139+
cp -af build/release/libmujs.$(SO) $(DESTDIR)$(libdir)
140+
chmod 755 $(DESTDIR)$(libdir)
135141

136142
install: install-static
137143

@@ -142,6 +148,7 @@ uninstall:
142148
rm -f $(DESTDIR)$(libdir)/pkgconfig/mujs.pc
143149
rm -f $(DESTDIR)$(libdir)/libmujs.a
144150
rm -f $(DESTDIR)$(libdir)/libmujs.$(SO)
151+
rm -f $(DESTDIR)$(libdir)/libmujs.$(SO).$(SOVERSION)
145152

146153
tarball:
147154
git archive --format=zip --prefix=mujs-$(VERSION)/ HEAD > mujs-$(VERSION).zip

0 commit comments

Comments
 (0)