File: Makefile.am

package info (click to toggle)
quantlib-swig 1.40-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,276 kB
  • sloc: python: 6,024; java: 1,552; cs: 774; makefile: 309; sh: 22
file content (69 lines) | stat: -rw-r--r-- 3,087 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

CLEANFILES = cpp/quantlib_wrap.* cpp/*.so cpp/*.dylib csharp/*.cs *.dll

BUILT_SOURCES = cpp/quantlib_wrap.cpp cpp/quantlib_wrap.h

if HAVE_DOTNET
if BUILD_DOTNET

all-local: cpp/libNQuantLibc.@SHARED_LIB_EXTENSION@ csharp/bin/Release/net6.0/NQuantLib.dll

cpp/libNQuantLibc.@SHARED_LIB_EXTENSION@: cpp/quantlib_wrap.o
	$(CXX) -shared cpp/quantlib_wrap.o -o cpp/libNQuantLibc.@SHARED_LIB_EXTENSION@ `quantlib-config --libs`

cpp/quantlib_wrap.o: $(BUILT_SOURCES)
	$(CXX) -c -fpic $(CXXFLAGS) cpp/quantlib_wrap.cpp -o cpp/quantlib_wrap.o `quantlib-config --cflags`

csharp/bin/Release/net6.0/NQuantLib.dll: $(BUILT_SOURCES)
	$(DOTNET) build --nologo -c Release -p:Version=$(PACKAGE_VERSION) csharp/NQuantLib.csproj

nupkg: cpp/libNQuantLibc.@SHARED_LIB_EXTENSION@ csharp/bin/Release/net6.0/NQuantLib.dll
	$(DOTNET) pack --no-build -c Release -p:PackageVersion=$(PACKAGE_VERSION) --include-symbols --include-source csharp/NQuantLib.csproj

check-local: cpp/libNQuantLibc.@SHARED_LIB_EXTENSION@ csharp/bin/Release/net6.0/NQuantLib.dll
	ln -f cpp/libNQuantLibc.@SHARED_LIB_EXTENSION@ examples/
	cd examples && LD_LIBRARY_PATH=. $(DOTNET) run -c Release --project BermudanSwaption/BermudanSwaption.csproj
	cd examples && LD_LIBRARY_PATH=. $(DOTNET) run -c Release --project EquityOption/EquityOption.csproj
	cd examples && LD_LIBRARY_PATH=. $(DOTNET) run -c Release --project FiniteDifferenceMethods/FiniteDifferenceMethods.csproj
	cd examples && LD_LIBRARY_PATH=. $(DOTNET) run -c Release --project Times/Times.csproj
	rm -f examples/libNQuantLibc.@SHARED_LIB_EXTENSION@

clean-local:
	rm -rf csharp/bin csharp/obj examples/*/bin examples/*/obj

endif
endif

$(BUILT_SOURCES): ../SWIG/*.i
	rm -f csharp/*.cs
	$(SWIG) $(SWIGFLAGS) -csharp -c++ -outdir csharp \
            -namespace QuantLib -o cpp/quantlib_wrap.cpp ../SWIG/quantlib.i

dist-hook: $(BUILT_SOURCES)
	mkdir -p $(distdir)/cpp
	cp ./cpp/*.vcxproj $(distdir)/cpp
	cp ./cpp/quantlib_wrap.cpp $(distdir)/cpp
	cp ./cpp/quantlib_wrap.h $(distdir)/cpp
	mkdir -p $(distdir)/csharp
	cp ./csharp/*.csproj $(distdir)/csharp
	cp ./csharp/*.cs $(distdir)/csharp
	mkdir -p $(distdir)/examples
	mkdir -p $(distdir)/examples/BermudanSwaption
	cp ./examples/BermudanSwaption/BermudanSwaption.csproj $(distdir)/examples/BermudanSwaption
	cp ./examples/BermudanSwaption/BermudanSwaption.cs $(distdir)/examples/BermudanSwaption
	mkdir -p $(distdir)/examples/EquityOption
	cp ./examples/EquityOption/EquityOption.csproj $(distdir)/examples/EquityOption
	cp ./examples/EquityOption/EquityOption.cs $(distdir)/examples/EquityOption
	mkdir -p $(distdir)/examples/FiniteDifferenceMethods
	cp ./examples/FiniteDifferenceMethods/FiniteDifferenceMethods.csproj $(distdir)/examples/FiniteDifferenceMethods
	cp ./examples/FiniteDifferenceMethods/FiniteDifferenceMethods.cs $(distdir)/examples/FiniteDifferenceMethods
	mkdir -p $(distdir)/examples/Times
	cp ./examples/Times/Times.csproj $(distdir)/examples/Times
	cp ./examples/Times/Times.cs $(distdir)/examples/Times

EXTRA_DIST = \
    QuantLib.sln \
    QuantLib.props \
    swig.cmd \
    README.txt