Makefile 4.9 KB

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