Makefile 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #
  2. # Makefile for supertux-editor.exe
  3. # Copyright (C) 2008 Christoph Sommer <christoph.sommer@2008.expires.deltadevelopment.de>
  4. #
  5. # This program is free software; you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation; either version 2 of the License, or
  8. # (at your option) any later version.
  9. #
  10. # This program is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. # GNU General Public License for more details.
  14. #
  15. # You should have received a copy of the GNU General Public License
  16. # along with this program; if not, write to the Free Software
  17. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  18. #
  19. # FIXME: 2018-10-12
  20. # Temporary workaround to solve incompatibility of mono with ncurses6
  21. # See: https://github.com/mono/mono/issues/6752
  22. GMCS?=TERM=xterm mcs
  23. GMCSFLAGS?=-debug -warn:4 -nowarn:1591 -unsafe
  24. ifeq ($(VERBOSE),1)
  25. Q=
  26. else
  27. Q=@
  28. endif
  29. .phony: all clean
  30. all: supertux-editor.exe
  31. clean:
  32. rm -f *.dll *.pkg.dummy supertux-editor.exe
  33. gtkgl-sharp.dll: \
  34. $(wildcard gtkgl-sharp/*.cs) \
  35. gtk-sharp-2.0.pkg.dummy \
  36. Lisp.dll: \
  37. $(wildcard Lisp/*.cs) \
  38. Resources.dll: \
  39. $(wildcard Resources/*.cs) \
  40. libeditor.dll: \
  41. $(wildcard libeditor/DataStructures/*.cs) $(wildcard libeditor/Libs/*.cs) $(wildcard libeditor/SceneGraph/*.cs) $(wildcard libeditor/Drawing/*.cs) $(wildcard libeditor/*.cs) \
  42. $(wildcard libeditor/resources/*.png) $(wildcard libeditor/resources/*.glade) \
  43. Resources.dll gtkgl-sharp.dll \
  44. gtk-sharp-2.0.pkg.dummy glade-sharp-2.0.pkg.dummy
  45. LispReader.dll: \
  46. $(wildcard LispReader/*.cs) \
  47. Lisp.dll libeditor.dll \
  48. supertux-editor.exe: \
  49. $(wildcard supertux-editor/*.cs) $(wildcard supertux-editor/Sprites/*.cs) $(wildcard supertux-editor/Tiles/*.cs) $(wildcard supertux-editor/PropertyEditors/*.cs) $(wildcard supertux-editor/LevelObjects/*.cs) $(wildcard supertux-editor/Commands/*.cs) $(wildcard supertux-editor/Tools/*.cs) \
  50. $(wildcard supertux-editor/resources/*.png) $(wildcard supertux-editor/resources/*.glade) \
  51. Lisp.dll Resources.dll LispReader.dll libeditor.dll gtkgl-sharp.dll \
  52. gtk-sharp-2.0.pkg.dummy glade-sharp-2.0.pkg.dummy \
  53. %.pkg.dummy:
  54. $(Q)touch $@
  55. %.exe:
  56. @echo MonoCSharp $@
  57. $(Q)$(GMCS) $(GMCSFLAGS) $(patsubst %.pkg.dummy,-pkg:%,$(filter %.pkg.dummy, $^)) -out:$@ -doc:$(patsubst %.dll,%.dll.xml,$@) -target:exe $(patsubst %,-r:%,$(filter %.dll, $^)) $(patsubst %,-resource:%,$(filter %.png %.glade, $^)) $(filter %.cs, $^)
  58. %.dll:
  59. @echo MonoCSharp $@
  60. $(Q)$(GMCS) $(GMCSFLAGS) $(patsubst %.pkg.dummy,-pkg:%,$(filter %.pkg.dummy, $^)) -out:$@ -doc:$(patsubst %.dll,%.dll.xml,$@) -target:library $(patsubst %,-r:%,$(filter %.dll, $^)) $(patsubst %,-resource:%,$(filter %.png %.glade, $^)) $(filter %.cs, $^)