File: Makefile.am

package info (click to toggle)
quantlib-swig 1.40-4
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 2,280 kB
  • sloc: python: 6,024; java: 1,552; cs: 774; makefile: 349; sh: 22
file content (80 lines) | stat: -rw-r--r-- 2,187 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
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
73
74
75
76
77
78
79
80

CLEANFILES = quantlib_wrap.cpp libQuantLibJNI.@JNILIB_EXTENSION@ QuantLib.jar

BUILT_SOURCES = quantlib_wrap.cpp quantlib_wrap.h

EXAMPLES = Bonds CallableBonds CallableBondsOAS DiscreteHedging EquityOptions FRA FunctionDelegates Time

SWIGJAVAFLAGS =

if JAVA_AUTOLOAD
SWIGJAVAFLAGS += -DJAVA_AUTOLOAD
endif

if JAVA_FINALIZER
SWIGJAVAFLAGS += -DJAVA_FINALIZER
endif

if JAVA_AUTOCLOSEABLE
SWIGJAVAFLAGS += -DJAVA_AUTOCLOSEABLE
endif

if HAVE_JAVA
if BUILD_JAVA

JAVAC_FLAGS ?= -O -g -source 8 -target 8

examples/%.class: examples/%.java QuantLib.jar
	$(JAVAC)  -cp QuantLib.jar ${JAVAC_FLAGS} examples/$*.java

.PHONY: $(EXAMPLES)

all-local: libQuantLibJNI.@JNILIB_EXTENSION@ QuantLib.jar

quantlib_wrap.o: quantlib_wrap.cpp quantlib_wrap.h
	$(CXX) -c quantlib_wrap.cpp -fno-strict-aliasing -fPIC $(CXXFLAGS) @JDK_INCLUDE@ @JDK_SYSTEM_INCLUDE@ `quantlib-config --cflags` -o quantlib_wrap.o

libQuantLibJNI.@JNILIB_EXTENSION@: quantlib_wrap.o
	$(CXX) $(CXXFLAGS) $(LDFLAGS) @SHARED_LIB@ quantlib_wrap.o -o libQuantLibJNI.@JNILIB_EXTENSION@ `quantlib-config --libs`

QuantLib.jar: quantlib_wrap.cpp org/quantlib/*.java
	mkdir -p bin
	find org/quantlib -name '*.java' | xargs $(JAVAC) ${JAVAC_FLAGS} -d bin
	$(JAR) cf QuantLib.jar -C bin org

install-exec-local:
	mkdir -p $(DESTDIR)/$(libdir)
	cp -p libQuantLibJNI.@JNILIB_EXTENSION@ $(DESTDIR)/$(libdir)/libQuantLibJNI.@JNILIB_EXTENSION@
	cp -p QuantLib.jar $(DESTDIR)/$(libdir)/QuantLib.jar

check-local: $(EXAMPLES)

$(EXAMPLES): $(EXAMPLES:%=examples/%.class)
	LD_LIBRARY_PATH=. $(JAVA) -cp ".:QuantLib.jar" examples.$@

endif
endif


quantlib_wrap.cpp: ../SWIG/*.i
	mkdir -p org/quantlib
	rm -f org/quantlib/*.java
	$(SWIG) $(SWIGFLAGS) $(SWIGJAVAFLAGS) -java -c++ -outdir org/quantlib \
            -package org.quantlib -o quantlib_wrap.cpp ../SWIG/quantlib.i

dist-hook:
	mkdir -p $(distdir)/org/quantlib
	cp ./org/quantlib/*.java $(distdir)/org/quantlib
	touch $(distdir)/quantlib_wrap.cpp
	touch $(distdir)/quantlib_wrap.h
	mkdir -p $(distdir)/examples
	cp ./examples/*.java $(distdir)/examples

clean-local:
	rm -rf org 
	rm -f examples/*.class
	rm -f quantlib_wrap.o
	rm -rf bin

EXTRA_DIST = README.txt $(BUILT_SOURCES)