File: makefile_compile_libs.diff

package info (click to toggle)
safe-iop 0.3.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 172 kB
  • sloc: ansic: 1,578; makefile: 27
file content (44 lines) | stat: -rw-r--r-- 1,559 bytes parent folder | download | duplicates (2)
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
Description: Original Makefile does not compile libsafe_iop.so
Author: Kai-Chung Yan <seamlikok@gmail.com>
Last-Update: 2015-07-26
--- a/Makefile
+++ b/Makefile
@@ -14,10 +14,10 @@
 VERSION = 0.3
 TESTNAME = safe_iop_test
 # For sparc64, _only_ use -O1 or -O0
-CFLAGS   = -Wall -O2 -Iinclude
+LOCAL_CFLAGS = -Iinclude -fPIC
 SOURCES = src/safe_iop.c
 
-all: $(TESTNAME)
+all: libsafe_iop.so.$(VERSION) libsafe_iop.a
 
 # This may be built as a library or directly included in source.
 # Unless support for safe_iopf is needed, header inclusion is enough.
@@ -28,17 +28,15 @@
 askme: examples/askme.c include/safe_iop.h
 	$(CC) $(CFLAGS) examples/askme.c -o $@
 
-so: src/safe_iop.c include/safe_iop.h
-	$(CC) -shared -Wl,-soname,libsafe_iop.so.$(VERSION) $(CFLAGS) $(SOURCES) -o libsafe_iop.so.$(VERSION) 
+libsafe_iop.so.$(VERSION): src/safe_iop.c include/safe_iop.h
+	$(CC) -shared -Wl,-soname,libsafe_iop.so.0 $(LOCAL_CFLAGS) $(SOURCES) -o $@ $(CPPFLAGS) $(LDFLAGS)
 
 dylib: src/safe_iop.c include/safe_iop.h
 	$(CC) -dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,$(VERSION),-current_version,$(VERSION),-install_name,/usr/local/lib/libsafe_iop.$(VERSION).dylib $(CFLAGS) $(SOURCES) -o libsafe_iop.$(VERSION).dylib
 
+libsafe_iop.a: src/safe_iop.c include/safe_iop.h
+	$(CC) -c $(CFLAGS) $(SOURCES) $(LOCAL_CFLAGS) $(CPPFLAGS) -o safe_iop.o
+	ar rs $@ safe_iop.o
 
-test: $(TESTNAME)
-	@./$(TESTNAME)
-	@rm $(TESTNAME)
-
-clean:  
-	rm $(TESTNAME)
-
+clean:
+	rm -f *.a *.o *.so.*
\ No newline at end of file