1diff --git a/Makefile b/Makefile
2index e40dbc3..e198b93 100644
3--- a/Makefile
4+++ b/Makefile
5@@ -17,7 +17,7 @@ ALLCFLAGS = -pipe $(CFLAGS) $(ADDCFLAGS) \
6 -Wbad-function-cast -Wmissing-prototypes -Wmissing-declarations
7 LDLIBRHASH = -Llibrhash -lrhash
8 ALLLDFLAGS = $(LDLIBRHASH) $(LDFLAGS) $(ADDLDFLAGS)
9-SHAREDLIB = librhash/librhash.so.0
10+SHAREDLIB = librhash/librhash.0.dylib
11 SHRDLFLAGS = $(LDFLAGS) $(ADDLDFLAGS)
12 HEADERS = calc_sums.h hash_print.h common_func.h hash_update.h file_mask.h file_set.h find_file.h hash_check.h output.h parse_cmdline.h rhash_main.h win_utils.h version.h
13 SOURCES = calc_sums.c hash_print.c common_func.c hash_update.c file_mask.c file_set.c find_file.c hash_check.c output.c parse_cmdline.c rhash_main.c win_utils.c
14diff --git a/librhash/Makefile b/librhash/Makefile
15index 2f9bcc9..0c5aaad 100644
16--- a/librhash/Makefile
17+++ b/librhash/Makefile
18@@ -28,8 +28,8 @@ PREFIX = /usr/local
19 INCDIR = $(PREFIX)/include
20 LIBDIR = $(PREFIX)/lib
21 LIBRARY = librhash.a
22-SONAME = librhash.so.0
23-SOLINK = librhash.so
24+SONAME = librhash.0.dylib
25+SOLINK = librhash.dylib
26 TEST_TARGET = test_hashes
27 TEST_SHARED = test_shared
28 # Set variables according to GNU coding standard
29@@ -182,8 +182,7 @@ test-dll: $(DLLNAME) test_hashes.o
30
31 # shared and static libraries
32 $(SONAME): $(SOURCES)
33- sed -n '1s/.*/{ global:/p; s/^RHASH_API.* \([a-z0-9_]\+\)(.*/ \1;/p; $$s/.*/local: *; };/p' $(SO_HEADERS) > exports.sym
34- $(CC) -fpic $(ALLCFLAGS) -shared $(SOURCES) -Wl,--version-script,exports.sym,-soname,$(SONAME) $(LIBLDFLAGS) -o $@
35+ $(CC) -fpic $(ALLCFLAGS) -dynamiclib $(SOURCES) $(LIBLDFLAGS) -Wl,-install_name,$(PREFIX)/lib/$@ -o $@
36 ln -s $(SONAME) $(SOLINK)
37 # use 'nm -Cg --defined-only $@' to view exported symbols
38