summaryrefslogtreecommitdiff
path: root/x11/libdnd/files/patch-ab
blob: c09a022ded9490b07fb1197d31a39dbf5552e5fc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
--- Makefile.in.orig	Thu May 22 21:18:22 1997
+++ Makefile.in	Sat Sep 26 21:59:37 1998
@@ -13,6 +13,16 @@
 RANLIB = @RANLIB@
 
 LIBS = @LIBS@ @X_LIBS@ @X_PRE_LIBS@ -lXmu -lXaw -lXt -lX11 @X_EXTRA_LIBS@
+.if $(PORTOBJFORMAT) == "elf"
+LIBS+=		-Wl,-rpath,$(X11BASE)/lib
+SHLDFLAGS=	-shared -x -soname $@
+DNDLIB=		libDnd.so.1
+DNDPLUSLIB=	libDnd++.so.1
+.else
+SHLDFLAGS=	-Bshareable -x
+DNDLIB=		libDnd.so.1.0
+DNDPLUSLIB=	libDnd++.so.1.0
+.endif
 
 prefix = @prefix@
 exec_prefix = @exec_prefix@
@@ -23,20 +33,30 @@
 CXXCOMPILE = $(CXX) $(INCLUDES) $(CXXFLAGS) -c
 LINK = $(CC) $(LDFLAGS) -o $@
 
+SOCOMPILE= $(COMPILE) -fpic 
+SOCXXCOMPILE = $(CXX) $(INCLUDES) $(CXXFLAGS) -c -fpic
+
 default: all
 
-all: libC libCpp dndtest
+all: libC libCpp dndtest libC-so libCpp-so
 
 install: libCpp libC
 	install -d $(INC_DIR)
-	install DragAndDrop.h DragAndDropTypes.h $(INC_DIR)
+	install -c -m 644 DragAndDrop.h DragAndDropTypes.h $(INC_DIR)
 	install -d $(LIB_DIR)
-	install libDnd.a libDnd++.a $(LIB_DIR)
+	install -c -m 644 libDnd.a libDnd++.a $(LIB_DIR)
+	install -c $(DNDLIB) $(DNDPLUSLIB) $(LIB_DIR)
+	ln -sf $(DNDLIB) $(LIB_DIR)/libDnd.so
+	ln -sf $(DNDPLUSLIB) $(LIB_DIR)/libDnd++.so
 
 libC: libDnd.a
 
 libCpp: libDnd++.a
 
+libC-so: $(DNDLIB)
+
+libCpp-so: $(DNDPLUSLIB)
+
 dndtest: dndtest.c libDnd.a
 	rm -f dndtest
 	$(COMPILE) dndtest.c
@@ -57,6 +77,16 @@
 	$(AR) cru libDnd++.a DragAndDrop.o
 	$(RANLIB) libDnd++.a
 
-clean:
-	rm -f *.o *.cxx *.a dndtest *~ *bak
+$(DNDLIB): DragAndDrop.c
+	rm -f DragAndDrop.so 
+	$(SOCOMPILE) -o DragAndDrop.so DragAndDrop.c
+	$(LD) $(SHLDFLAGS) -o $(DNDLIB) DragAndDrop.so
 
+$(DNDPLUSLIB): DragAndDrop.c
+	rm -f DragAndDrop.so DragAndDrop.cxx
+	ln -s DragAndDrop.c DragAndDrop.cxx
+	$(SOCXXCOMPILE) -o DragAndDrop.so DragAndDrop.cxx
+	$(LD) $(SHLDFLAGS) -o $(DNDPLUSLIB) DragAndDrop.so
+
+clean:
+	rm -f *.o *.so *.cxx *.a dndtest *~ *bak