Makefile 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. # Bloated Makefile to make new releases of pisg
  2. all: release
  3. # Ugly hack to get the version number from Pisg.pm
  4. VER = $(shell grep "version =>" modules/Pisg.pm | sed 's/[^"]*"\([^"]*\)+CVS".*/\1/')
  5. # append +CVS.. if SNAPSHOT is defined
  6. ifeq ($(SNAPSHOT),)
  7. VERSION = $(VER)
  8. else
  9. VERSION = $(VER)+CVS_$(shell date +%Y%m%d)
  10. endif
  11. DIRNAME = pisg-$(VERSION)
  12. TARFILE = pisg-$(VERSION).tar.gz
  13. ZIPFILE = pisg-$(VERSION).zip
  14. FILES = pisg \
  15. COPYING \
  16. README \
  17. pisg.cfg \
  18. lang.txt
  19. DOCS = docs/FORMATS \
  20. docs/Changelog \
  21. docs/CREDITS \
  22. docs/pisg-doc.html \
  23. docs/pisg-doc.txt \
  24. docs/pisg-doc.xml \
  25. docs/pisg.1 \
  26. DEVDOCS = docs/dev/API
  27. GFX = gfx/green-h.png \
  28. gfx/green-v.png \
  29. gfx/blue-h.png \
  30. gfx/blue-v.png \
  31. gfx/yellow-h.png \
  32. gfx/yellow-v.png \
  33. gfx/red-h.png \
  34. gfx/red-v.png \
  35. SCRIPTS = scripts/crontab \
  36. scripts/dropegg.pl \
  37. scripts/egg2mirc.awk \
  38. scripts/eggdrop-pisg.tcl \
  39. scripts/mirc2egg.sed \
  40. scripts/sirc-timestamp.pl \
  41. scripts/windows-ftp-upload.txt
  42. ADDALIAS = scripts/addalias/addalias.pl \
  43. scripts/addalias/README
  44. PUM = scripts/pum/pum.pl \
  45. scripts/pum/pum.conf
  46. MODULESDIR = modules
  47. MAIN_MODULE = $(MODULESDIR)/Pisg.pm
  48. PISG_MODULES = $(MODULESDIR)/Pisg/Common.pm \
  49. $(MODULESDIR)/Pisg/HTMLGenerator.pm
  50. PARSER_MODULES = $(MODULESDIR)/Pisg/Parser/Logfile.pm
  51. FORMAT_MODULES = $(MODULESDIR)/Pisg/Parser/Format/axur.pm \
  52. $(MODULESDIR)/Pisg/Parser/Format/bxlog.pm \
  53. $(MODULESDIR)/Pisg/Parser/Format/bobot.pm \
  54. $(MODULESDIR)/Pisg/Parser/Format/blootbot.pm \
  55. $(MODULESDIR)/Pisg/Parser/Format/dancer.pm \
  56. $(MODULESDIR)/Pisg/Parser/Format/dircproxy.pm \
  57. $(MODULESDIR)/Pisg/Parser/Format/DCpp.pm \
  58. $(MODULESDIR)/Pisg/Parser/Format/eggdrop.pm \
  59. $(MODULESDIR)/Pisg/Parser/Format/energymech.pm \
  60. $(MODULESDIR)/Pisg/Parser/Format/grufti.pm \
  61. $(MODULESDIR)/Pisg/Parser/Format/hydra.pm \
  62. $(MODULESDIR)/Pisg/Parser/Format/ircle.pm \
  63. $(MODULESDIR)/Pisg/Parser/Format/infobot.pm \
  64. $(MODULESDIR)/Pisg/Parser/Format/irssi.pm \
  65. $(MODULESDIR)/Pisg/Parser/Format/ircII.pm \
  66. $(MODULESDIR)/Pisg/Parser/Format/javabot.pm \
  67. $(MODULESDIR)/Pisg/Parser/Format/kvirc.pm \
  68. $(MODULESDIR)/Pisg/Parser/Format/lulubot.pm \
  69. $(MODULESDIR)/Pisg/Parser/Format/oer.pm \
  70. $(MODULESDIR)/Pisg/Parser/Format/mbot.pm \
  71. $(MODULESDIR)/Pisg/Parser/Format/miau.pm \
  72. $(MODULESDIR)/Pisg/Parser/Format/mIRC.pm \
  73. $(MODULESDIR)/Pisg/Parser/Format/mIRC6.pm \
  74. $(MODULESDIR)/Pisg/Parser/Format/mIRC6hack.pm \
  75. $(MODULESDIR)/Pisg/Parser/Format/muh.pm \
  76. $(MODULESDIR)/Pisg/Parser/Format/muh2.pm \
  77. $(MODULESDIR)/Pisg/Parser/Format/moobot.pm \
  78. $(MODULESDIR)/Pisg/Parser/Format/perlbot.pm \
  79. $(MODULESDIR)/Pisg/Parser/Format/pircbot.pm \
  80. $(MODULESDIR)/Pisg/Parser/Format/psybnc.pm \
  81. $(MODULESDIR)/Pisg/Parser/Format/sirc.pm \
  82. $(MODULESDIR)/Pisg/Parser/Format/supy.pm \
  83. $(MODULESDIR)/Pisg/Parser/Format/virc98.pm \
  84. $(MODULESDIR)/Pisg/Parser/Format/Vision.pm \
  85. $(MODULESDIR)/Pisg/Parser/Format/Trillian.pm \
  86. $(MODULESDIR)/Pisg/Parser/Format/Template.pm \
  87. $(MODULESDIR)/Pisg/Parser/Format/RacBot.pm \
  88. $(MODULESDIR)/Pisg/Parser/Format/rbot.pm \
  89. $(MODULESDIR)/Pisg/Parser/Format/xchat.pm \
  90. $(MODULESDIR)/Pisg/Parser/Format/winbot.pm \
  91. $(MODULESDIR)/Pisg/Parser/Format/zcbot.pm \
  92. docs:
  93. $(MAKE) -C docs VERSION=$(VERSION)
  94. release: docs
  95. mkdir -p newrelease
  96. mkdir $(DIRNAME)
  97. cp $(FILES) $(DIRNAME)
  98. mkdir $(DIRNAME)/scripts
  99. cp $(SCRIPTS) $(DIRNAME)/scripts
  100. mkdir $(DIRNAME)/gfx
  101. cp $(GFX) $(DIRNAME)/gfx
  102. mkdir $(DIRNAME)/docs
  103. cp -r $(DOCS) $(DIRNAME)/docs
  104. mkdir $(DIRNAME)/layout
  105. cp layout/*.css $(DIRNAME)/layout
  106. mkdir $(DIRNAME)/docs/dev
  107. cp $(DEVDOCS) $(DIRNAME)/docs/dev
  108. mkdir $(DIRNAME)/scripts/addalias
  109. cp $(ADDALIAS) $(DIRNAME)/scripts/addalias
  110. mkdir $(DIRNAME)/scripts/pum
  111. cp $(PUM) $(DIRNAME)/scripts/pum
  112. mkdir $(DIRNAME)/$(MODULESDIR)
  113. mkdir $(DIRNAME)/$(MODULESDIR)/Pisg
  114. mkdir $(DIRNAME)/$(MODULESDIR)/Pisg/Parser
  115. mkdir $(DIRNAME)/$(MODULESDIR)/Pisg/Parser/Format
  116. cp $(MAIN_MODULE) $(DIRNAME)/$(MODULESDIR)/
  117. cp $(PISG_MODULES) $(DIRNAME)/$(MODULESDIR)/Pisg/
  118. cp $(PARSER_MODULES) $(DIRNAME)/$(MODULESDIR)/Pisg/Parser
  119. cp $(FORMAT_MODULES) $(DIRNAME)/$(MODULESDIR)/Pisg/Parser/Format
  120. perl -i -pe 's/^(.*version => ")[^"]*(".*)/$${1}$(VERSION)$${2}/' $(DIRNAME)/$(MODULESDIR)/Pisg.pm
  121. tar zcfv newrelease/$(TARFILE) $(DIRNAME)
  122. zip -r pisg $(DIRNAME)
  123. mv pisg.zip newrelease/$(ZIPFILE)
  124. mv $(DIRNAME) newrelease
  125. clean:
  126. cd docs && make clean
  127. rm -rf newrelease/$(TARFILE)
  128. rm -rf newrelease/$(ZIPFILE)
  129. rm -rf newrelease/$(DIRNAME)
  130. rm -rf $(DIRNAME)
  131. distclean: clean
  132. rm -rf newrelease/
  133. .PHONY: all release docs clean distclean