# default values.... CSHARP_CC=$(CSHARP_PATH)/bin/mcs MONO_JIT=$(CSHARP_PATH)/bin/mono # common build environment ifeq ($(NEOTONIC_ROOT),) NEOTONIC_ROOT = .. endif include $(NEOTONIC_ROOT)/rules.mk # our targets TARGETS = clearsilver.dll cstest.exe csperftest.exe testcs all: $(TARGETS) clearsilver.dll: CS.cs $(CSHARP_CC) -target:library -unsafe CS.cs -out:clearsilver.dll cstest.exe: clearsilver.dll ../dso/libneo.so cstest.cs $(CSHARP_CC) -r:clearsilver.dll -unsafe cstest.cs csperftest.exe: clearsilver.dll ../dso/libneo.so csperftest.cs $(CSHARP_CC) -r:clearsilver.dll -unsafe csperftest.cs perf: csperftest.exe export LD_LIBRARY_PATH=../dso; \ $(MONO_JIT) csperftest.exe testcs: cstest.exe @echo "Running csharp test" @failed=0; \ rm -f cstest.out; \ export LD_LIBRARY_PATH=../dso; \ $(MONO_JIT) cstest.exe > cstest.out; \ diff cstest.out cstest.gold > /dev/null; \ return_code=$$?; \ if [ $$return_code -ne 0 ]; then \ diff cstest.out cstest.gold > cstest.err; \ echo "Failed csharp test: cstest.cs"; \ echo " See cstest.out and cstest.err"; \ failed=1; \ fi; \ if [ $$failed -eq 1 ]; then \ exit 1; \ fi; @echo "Passed csharp test" gold: cstest.exe export LD_LIBRARY_PATH=../dso; \ $(MONO_JIT) cstest.exe > cstest.gold; @echo "Generated gold files" clean: rm -f core.* distclean: rm -f $(TARGETS) core.* Makefile.depend