Skip to content

Commit 872c7bd

Browse files
committed
make libspnav compile in macosx
git-svn-id: svn+ssh://svn.code.sf.net/p/spacenav/code/trunk/libspnav@163 ef983eb1-d774-4af8-acfd-baaf7b16a646
1 parent fd6b658 commit 872c7bd

1 file changed

Lines changed: 29 additions & 12 deletions

File tree

Makefile.in

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,29 @@
11

22
obj = spnav.o $(magellan_obj)
33
hdr = spnav.h spnav_magellan.h spnav_config.h
4-
lib_a = libspnav.a
5-
soname = libspnav.so.0
6-
lib_so = $(soname).1
7-
devlink = libspnav.so
4+
5+
name = spnav
6+
lib_a = lib$(name).a
7+
8+
incpaths = -I. -I/usr/local/include -I/usr/X11R6/include
9+
libpaths = -L/usr/local/lib -L/usr/X11R6/lib
810

911
CC = gcc
1012
AR = ar
11-
CFLAGS = $(opt) $(dbg) -std=c89 -fpic -pedantic -Wall -fno-strict-aliasing -I. -I/usr/local/include $(user_cflags)
12-
LDFLAGS = $(user_ldflags)
13+
CFLAGS = $(opt) $(dbg) -std=c89 $(pic) -pedantic -Wall -fno-strict-aliasing $(incpaths) $(user_cflags)
14+
LDFLAGS = $(libpaths) $(user_ldflags) $(xlib)
15+
16+
ifeq ($(shell uname -s), Darwin)
17+
lib_so = libspnav.dylib
18+
shared = -dynamiclib
19+
else
20+
devlink = lib$(name).so
21+
soname = $(devlink).$(so_major)
22+
lib_so = $(soname).$(so_minor)
23+
shared = -shared -Wl,-soname,$(soname)
24+
pic = -fPIC
25+
endif
26+
1327

1428
.PHONY: all
1529
all: $(lib_a) $(lib_so)
@@ -18,7 +32,7 @@ $(lib_a): $(obj)
1832
$(AR) rcs $@ $(obj)
1933

2034
$(lib_so): $(obj)
21-
$(CC) -shared -Wl,-soname,$(soname) -o $@ $(obj) $(LDFLAGS)
35+
$(CC) $(shared) -o $@ $(obj) $(LDFLAGS)
2236

2337
%.o: $(srcdir)/%.c
2438
$(CC) $(CFLAGS) -c $< -o $@
@@ -36,16 +50,19 @@ install: $(lib_a) $(lib_so)
3650
mkdir -p $(DESTDIR)$(PREFIX)/$(libdir) $(DESTDIR)$(PREFIX)/include
3751
cp $(lib_a) $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_a)
3852
cp $(lib_so) $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_so)
39-
rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(soname) $(DESTDIR)$(PREFIX)/$(libdir)/$(devlink)
40-
ln -s $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_so) $(DESTDIR)$(PREFIX)/$(libdir)/$(soname)
41-
ln -s $(DESTDIR)$(PREFIX)/$(libdir)/$(soname) $(DESTDIR)$(PREFIX)/$(libdir)/$(devlink)
53+
[ -n "$(soname)" ] && \
54+
rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(soname) $(DESTDIR)$(PREFIX)/$(libdir)/$(devlink) && \
55+
ln -s $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_so) $(DESTDIR)$(PREFIX)/$(libdir)/$(soname) && \
56+
ln -s $(DESTDIR)$(PREFIX)/$(libdir)/$(soname) $(DESTDIR)$(PREFIX)/$(libdir)/$(devlink) || \
57+
true
4258
for h in $(hdr); do cp -p $(srcdir)/$$h $(DESTDIR)$(PREFIX)/include/; done
4359

4460
.PHONY: uninstall
4561
uninstall:
4662
rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_a)
4763
rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_so)
48-
rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(soname)
49-
rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(devlink)
64+
[ -n "$(soname)" ] && \
65+
rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(soname) $(DESTDIR)$(PREFIX)/$(libdir)/$(devlink) || \
66+
true
5067
for i in $(hdr); do rm -f $(DESTDIR)$(PREFIX)/include/$$i; done
5168

0 commit comments

Comments
 (0)