File: CSharp.mk

package info (click to toggle)
consensuscore 1.1.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,184 kB
  • sloc: cpp: 38,940; python: 2,082; ansic: 542; sh: 184; makefile: 85; cs: 10
file content (26 lines) | stat: -rw-r--r-- 1,009 bytes parent folder | download | duplicates (6)
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
include make/Config.mk
include make/Defs.mk

SWIG_CMD        = SWIG_LIB=$(SWIG_LIB) $(SWIG) -Wall -c++ -csharp

CSHARP_BUILD_DIR = build/CSharp
GEN_CXX          = $(CSHARP_BUILD_DIR)/ConsensusCore_wrap.cxx
PINVOKE_LIB      = $(CSHARP_BUILD_DIR)/libConsensusCore.so

$(PINVOKE_LIB): $(SWIG_INTERFACES) $(CXX_LIB)
	mkdir -p $(CSHARP_BUILD_DIR)
	$(SWIG_CMD) $(INCLUDES) -module ConsensusCore -namespace ConsensusCore \
	        -o $(GEN_CXX) -outdir $(CSHARP_BUILD_DIR) $(SWIG_INTERFACE)
	cat $(CSHARP_BUILD_DIR)/*.cs > $(CSHARP_BUILD_DIR)/.ConsensusCore.cs
	rm $(CSHARP_BUILD_DIR)/*.cs
	mv $(CSHARP_BUILD_DIR)/.ConsensusCore.cs $(CSHARP_BUILD_DIR)/ConsensusCore.cs
	$(CXX) $(SHLIB_FLAGS) $(INCLUDES) $(GEN_CXX) $(CXX_LIB) -o $(PINVOKE_LIB)

test-csharp: $(PINVOKE_LIB)
	@(cd $(CSHARP_BUILD_DIR) && \
	 mcs -target:library ConsensusCore.cs && \
	 mcs $(PROJECT_ROOT)/src/Demos/Demo.cs -reference:ConsensusCore.dll -out:Demo.exe && \
	 mono Demo.exe && \
	 echo "CSharp build OK!")

.PHONY: all clean test-csharp