Makefile 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  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/[^"]*"\([^"]*\)".*/\1/')
  5. # append date if SNAPSHOT is defined
  6. ifeq ($(SNAPSHOT),)
  7. VERSION = $(VER)
  8. else
  9. VERSION = $(VER)_$(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. pisg.cfg.example \
  19. lang.txt
  20. DOCS = docs/FORMATS \
  21. docs/Changelog \
  22. docs/CREDITS \
  23. docs/pisg-doc.html \
  24. docs/pisg-doc.txt \
  25. docs/pisg-doc.xml \
  26. docs/pisg.sgml \
  27. docs/pisg.1 \
  28. DEVDOCS = docs/dev/API
  29. GFX = gfx/green-h.png \
  30. gfx/green-v.png \
  31. gfx/blue-h.png \
  32. gfx/blue-v.png \
  33. gfx/yellow-h.png \
  34. gfx/yellow-v.png \
  35. gfx/red-h.png \
  36. gfx/red-v.png \
  37. SCRIPTS = scripts/crontab \
  38. scripts/dropegg.pl \
  39. scripts/egg2mirc.awk \
  40. scripts/eggdrop-pisg.tcl \
  41. scripts/eggdrop-pisg-test.tcl \
  42. scripts/pisg-autoalias.py \
  43. scripts/pisg-autoalias-test.py \
  44. scripts/adiirc2eggdrop.py scripts/znc-setup.sh \
  45. scripts/mirc2egg.sed \
  46. scripts/sirc-timestamp.pl \
  47. scripts/windows-ftp-upload.txt
  48. ADDALIAS = scripts/addalias/addalias.pl \
  49. scripts/addalias/README
  50. PUM = scripts/pum/pum.pl \
  51. scripts/pum/pum.conf
  52. MODULESDIR = modules
  53. MAIN_MODULE = $(MODULESDIR)/Pisg.pm
  54. PISG_MODULES = $(MODULESDIR)/Pisg/Common.pm \
  55. $(MODULESDIR)/Pisg/HTMLGenerator.pm \
  56. $(MODULESDIR)/Pisg/Insights.pm
  57. PARSER_MODULES = $(MODULESDIR)/Pisg/Parser/Logfile.pm
  58. FORMAT_MODULES = $(MODULESDIR)/Pisg/Parser/Format/axur.pm \
  59. $(MODULESDIR)/Pisg/Parser/Format/bxlog.pm \
  60. $(MODULESDIR)/Pisg/Parser/Format/bobot.pm \
  61. $(MODULESDIR)/Pisg/Parser/Format/blootbot.pm \
  62. $(MODULESDIR)/Pisg/Parser/Format/dancer.pm \
  63. $(MODULESDIR)/Pisg/Parser/Format/dircproxy.pm \
  64. $(MODULESDIR)/Pisg/Parser/Format/DCpp.pm \
  65. $(MODULESDIR)/Pisg/Parser/Format/eggdrop.pm \
  66. $(MODULESDIR)/Pisg/Parser/Format/energymech.pm \
  67. $(MODULESDIR)/Pisg/Parser/Format/grufti.pm \
  68. $(MODULESDIR)/Pisg/Parser/Format/hydra.pm \
  69. $(MODULESDIR)/Pisg/Parser/Format/ircle.pm \
  70. $(MODULESDIR)/Pisg/Parser/Format/infobot.pm \
  71. $(MODULESDIR)/Pisg/Parser/Format/IRCAP.pm \
  72. $(MODULESDIR)/Pisg/Parser/Format/irssi.pm \
  73. $(MODULESDIR)/Pisg/Parser/Format/ircII.pm \
  74. $(MODULESDIR)/Pisg/Parser/Format/javabot.pm \
  75. $(MODULESDIR)/Pisg/Parser/Format/konversation.pm \
  76. $(MODULESDIR)/Pisg/Parser/Format/kvirc.pm \
  77. $(MODULESDIR)/Pisg/Parser/Format/lulubot.pm \
  78. $(MODULESDIR)/Pisg/Parser/Format/oer.pm \
  79. $(MODULESDIR)/Pisg/Parser/Format/mbot.pm \
  80. $(MODULESDIR)/Pisg/Parser/Format/miau.pm \
  81. $(MODULESDIR)/Pisg/Parser/Format/mIRC.pm \
  82. $(MODULESDIR)/Pisg/Parser/Format/mIRC6.pm \
  83. $(MODULESDIR)/Pisg/Parser/Format/mIRC6hack.pm \
  84. $(MODULESDIR)/Pisg/Parser/Format/mozbot.pm \
  85. $(MODULESDIR)/Pisg/Parser/Format/muh.pm \
  86. $(MODULESDIR)/Pisg/Parser/Format/muh2.pm \
  87. $(MODULESDIR)/Pisg/Parser/Format/moobot.pm \
  88. $(MODULESDIR)/Pisg/Parser/Format/perlbot.pm \
  89. $(MODULESDIR)/Pisg/Parser/Format/pircbot.pm \
  90. $(MODULESDIR)/Pisg/Parser/Format/psybnc.pm \
  91. $(MODULESDIR)/Pisg/Parser/Format/sirc.pm \
  92. $(MODULESDIR)/Pisg/Parser/Format/supy.pm \
  93. $(MODULESDIR)/Pisg/Parser/Format/virc98.pm \
  94. $(MODULESDIR)/Pisg/Parser/Format/Vision.pm \
  95. $(MODULESDIR)/Pisg/Parser/Format/Trillian.pm \
  96. $(MODULESDIR)/Pisg/Parser/Format/Template.pm \
  97. $(MODULESDIR)/Pisg/Parser/Format/RacBot.pm \
  98. $(MODULESDIR)/Pisg/Parser/Format/rbot.pm \
  99. $(MODULESDIR)/Pisg/Parser/Format/xchat.pm \
  100. $(MODULESDIR)/Pisg/Parser/Format/winbot.pm \
  101. $(MODULESDIR)/Pisg/Parser/Format/weechat.pm \
  102. $(MODULESDIR)/Pisg/Parser/Format/weechat3.pm \
  103. $(MODULESDIR)/Pisg/Parser/Format/zcbot.pm \
  104. docs:
  105. $(MAKE) -C docs VERSION=$(VERSION)
  106. release: docs
  107. mkdir -p newrelease
  108. cat lang/readme.txt >> lang.txt
  109. cat lang/*.dat >> lang.txt
  110. mkdir $(DIRNAME)
  111. cp $(FILES) $(DIRNAME)
  112. mkdir $(DIRNAME)/scripts
  113. cp $(SCRIPTS) $(DIRNAME)/scripts
  114. mkdir $(DIRNAME)/gfx
  115. cp $(GFX) $(DIRNAME)/gfx
  116. mkdir $(DIRNAME)/docs
  117. cp -r $(DOCS) $(DIRNAME)/docs
  118. mkdir $(DIRNAME)/layout
  119. cp layout/*.css layout/*.js layout/build-themes.py $(DIRNAME)/layout
  120. mkdir $(DIRNAME)/site
  121. cp site/index.html site/README.txt $(DIRNAME)/site
  122. mkdir $(DIRNAME)/docs/dev
  123. cp $(DEVDOCS) $(DIRNAME)/docs/dev
  124. mkdir $(DIRNAME)/scripts/addalias
  125. cp $(ADDALIAS) $(DIRNAME)/scripts/addalias
  126. mkdir $(DIRNAME)/scripts/pum
  127. cp $(PUM) $(DIRNAME)/scripts/pum
  128. mkdir $(DIRNAME)/$(MODULESDIR)
  129. mkdir $(DIRNAME)/$(MODULESDIR)/Pisg
  130. mkdir $(DIRNAME)/$(MODULESDIR)/Pisg/Parser
  131. mkdir $(DIRNAME)/$(MODULESDIR)/Pisg/Parser/Format
  132. cp $(MAIN_MODULE) $(DIRNAME)/$(MODULESDIR)/
  133. cp $(PISG_MODULES) $(DIRNAME)/$(MODULESDIR)/Pisg/
  134. cp $(PARSER_MODULES) $(DIRNAME)/$(MODULESDIR)/Pisg/Parser
  135. cp $(FORMAT_MODULES) $(DIRNAME)/$(MODULESDIR)/Pisg/Parser/Format
  136. perl -i -pe 's/^(.*version => ")[^"]*(".*)/$${1}$(VERSION)$${2}/' $(DIRNAME)/$(MODULESDIR)/Pisg.pm
  137. tar zcfv newrelease/$(TARFILE) $(DIRNAME)
  138. zip -r pisg $(DIRNAME)
  139. mv pisg.zip newrelease/$(ZIPFILE)
  140. mv $(DIRNAME) newrelease
  141. clean:
  142. cd docs && make clean
  143. rm -f lang.txt
  144. rm -rf newrelease/$(TARFILE)
  145. rm -rf newrelease/$(ZIPFILE)
  146. rm -rf newrelease/$(DIRNAME)
  147. rm -rf $(DIRNAME)
  148. distclean: clean
  149. rm -rf newrelease/
  150. .PHONY: all release docs clean distclean