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
|