1#===============================================================================
2# RBio/Lib/Makefile: for compiling the RBio library
3#===============================================================================
4
5LIBRARY = librbio
6VERSION = 2.2.6
7SO_VERSION = 2
8
9default: library
10
11ccode: all
12
13include ../../SuiteSparse_config/SuiteSparse_config.mk
14
15# RBio depends on SuiteSparse_config
16LDLIBS += -lsuitesparseconfig
17
18# compile and install in SuiteSparse/lib
19library:
20	$(MAKE) install INSTALL=$(SUITESPARSE)
21
22C = $(CC) $(CF)
23
24I = -I../Include -I../../SuiteSparse_config
25
26all: library
27
28purge: distclean
29
30distclean: clean
31	- $(RM) -r $(PURGE)
32
33clean:
34	- $(RM) -r $(CLEAN)
35
36INC = ../Include/RBio.h
37
38DL = RBio.o
39DI = RBio_i.o
40OBJ = $(DI) $(DL)
41
42$(OBJ): $(INC)
43
44static: $(AR_TARGET)
45
46$(AR_TARGET): $(OBJ)
47	$(ARCHIVE) $@ $^
48	- $(RANLIB) $@
49
50#-------------------------------------------------------------------------------
51
52# 64-bit long version (default)
53RBio.o: ../Source/RBio.c
54	$(C) -c $(I) $<
55
56# 32-bit int version (not the default)
57RBio_i.o: ../Source/RBio.c
58	$(C) -c -DINT $(I) $< -o $@
59
60#-------------------------------------------------------------------------------
61
62# install RBio
63install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET)
64
65$(INSTALL_LIB)/$(SO_TARGET): $(OBJ)
66	@mkdir -p $(INSTALL_LIB)
67	@mkdir -p $(INSTALL_INCLUDE)
68	@mkdir -p $(INSTALL_DOC)
69	$(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS)
70	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) )
71	( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) )
72	$(CP) ../Include/RBio.h $(INSTALL_INCLUDE)
73	$(CP) ../README.txt $(INSTALL_DOC)/RBIO_README.txt
74	chmod 755 $(INSTALL_LIB)/$(SO_TARGET)
75	chmod 644 $(INSTALL_INCLUDE)/RBio.h
76	chmod 644 $(INSTALL_DOC)/RBIO_README.txt
77
78# uninstall RBio
79uninstall:
80	$(RM) $(INSTALL_LIB)/$(SO_TARGET)
81	$(RM) $(INSTALL_LIB)/$(SO_PLAIN)
82	$(RM) $(INSTALL_LIB)/$(SO_MAIN)
83	$(RM) $(INSTALL_INCLUDE)/RBio.h
84	$(RM) $(INSTALL_DOC)/RBIO_README.txt
85