PageRenderTime 43ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Examples/test-suite/go/Makefile.in

#
Autoconf | 97 lines | 76 code | 16 blank | 5 comment | 12 complexity | 51e2453d8a22041354c14418b670ad48 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. #######################################################################
  2. # Makefile for Go test-suite
  3. #######################################################################
  4. LANGUAGE = go
  5. GO = @GO@
  6. GOGCC = @GOGCC@
  7. GO1 = @GO1@
  8. GOC = @GOC@
  9. SCRIPTSUFFIX = _runme.go
  10. GOCOMPILEARG = `if $(GOGCC) ; then echo -c -g; elif $(GO1) ; then echo tool $(GOC:c=g) ; fi`
  11. GOLD = $(GOC:c=l)
  12. GOTOOL = `if $(GO1) ; then echo go tool; fi`
  13. GOPACK = `if $(GO1) ; then echo go tool pack; else echo gopack; fi`
  14. GOOBJEXT = $(GOC:c=)
  15. SO = @SO@
  16. srcdir = @srcdir@
  17. top_srcdir = @top_srcdir@
  18. top_builddir = @top_builddir@
  19. include $(srcdir)/../common.mk
  20. .SUFFIXES: .cpptest .ctest .multicpptest
  21. # Rules for the different types of tests
  22. %.cpptest:
  23. $(setup)
  24. +$(swig_and_compile_cpp)
  25. $(run_testcase)
  26. %.ctest:
  27. $(setup)
  28. +$(swig_and_compile_c)
  29. $(run_testcase)
  30. %.multicpptest:
  31. $(setup)
  32. +$(swig_and_compile_multi_cpp)
  33. $(run_multi_testcase)
  34. multi_import.multicpptest:
  35. $(setup)
  36. for f in multi_import_b multi_import_a; do \
  37. $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile CXXSRCS="$(CXXSRCS)" \
  38. SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" LIBS='$(LIBS)' \
  39. INCLUDES="$(INCLUDES)" SWIGOPT="$(SWIGOPT)" NOLINK=true \
  40. TARGET="$(TARGETPREFIX)$${f}$(TARGETSUFFIX)" INTERFACEDIR="$(INTERFACEDIR)" INTERFACE="$$f.i" \
  41. $(LANGUAGE)$(VARIANT)_cpp; \
  42. done
  43. $(run_multi_testcase)
  44. # Runs the testcase.
  45. run_testcase = \
  46. if test -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); then \
  47. $(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
  48. if $(GOGCC) ; then \
  49. $(COMPILETOOL) $(GO) -o $*_runme $(SCRIPTPREFIX)$*_runme.@OBJEXT@ $*.@OBJEXT@ $*$(SO); \
  50. else \
  51. $(COMPILETOOL) $(GOTOOL) $(GOLD) -L . -r $${GOROOT}/pkg/$${GOOS}_$${GOARCH}:. -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \
  52. fi && \
  53. env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) ./$*_runme; \
  54. fi
  55. run_multi_testcase = \
  56. if test -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); then \
  57. $(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
  58. if $(GOGCC) ; then \
  59. files=`cat $(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)/$*.list`; \
  60. $(COMPILETOOL) $(GO) -o $*_runme $(SCRIPTPREFIX)$*_runme.@OBJEXT@ `for f in $$files; do echo $$f.@OBJEXT@ $$f$(SO); done`; \
  61. else \
  62. $(COMPILETOOL) $(GOTOOL) $(GOLD) -L . -r $${GOROOT}/pkg/$${GOOS}_$${GOARCH}:. -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \
  63. fi && \
  64. env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) ./$*_runme; \
  65. fi
  66. %.clean:
  67. @rm -f $*.go $*_gc.c $*_wrap.* $*_runme
  68. clean:
  69. $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile go_clean
  70. rm -f mod_a.go mod_b.go imports_a.go imports_b.go
  71. rm -f clientdata_prop_a.go clientdata_prop_b.go
  72. rm -f multi_import_a.go multi_import_b.go
  73. rm -f packageoption_a.go packageoption_b.go packageoption_c.go
  74. cvsignore:
  75. @echo '*_gc.c *_wrap.* *.so *.dll *.exp *.lib'
  76. @echo Makefile
  77. @echo mod_a.go mod_b.go imports_a.go imports_b.go
  78. @echo clientdata_prop_a.go clientdata_prop_b.go
  79. @echo multi_import_a.go multi_import_b.go
  80. @echo packageoption_a.go packageoption_b.go packageoption_c.go
  81. @for i in ${CPP_TEST_CASES} ${C_TEST_CASES}; do echo $$i.go; done