Makefile 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. # $Id: Makefile 158 2004-10-01 03:45:15Z PoW $
  2. CC = gcc -pipe
  3. PACKETDEF = -DPACKETVER=5 -DNEW_006b
  4. #PACKETDEF = -DPACKETVER=4 -DNEW_006b
  5. #PACKETDEF = -DPACKETVER=3 -DNEW_006b
  6. #PACKETDEF = -DPACKETVER=2 -DNEW_006b
  7. #PACKETDEF = -DPACKETVER=1 -DNEW_006b
  8. PLATFORM = $(shell uname)
  9. ifeq ($(findstring FreeBSD,$(PLATFORM)), FreeBSD)
  10. MAKE = gmake
  11. else
  12. MAKE = make
  13. endif
  14. OPT = -g -O2
  15. ifeq ($(findstring CYGWIN,$(PLATFORM)), CYGWIN)
  16. OS_TYPE = -DCYGWIN
  17. CFLAGS = $(OPT) -Wall -DFD_SETSIZE=4096 -I../common $(PACKETDEF) $(OS_TYPE)
  18. else
  19. OS_TYPE =
  20. CFLAGS = $(OPT) -Wall -I../common $(PACKETDEF) $(OS_TYPE)
  21. endif
  22. MYSQLFLAG_INCLUDE_DEFAULT = /usr/local/include/mysql
  23. ifdef SQLFLAG
  24. MYSQLFLAG_CONFIG = $(shell which mysql_config)
  25. ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /)
  26. MYSQLFLAG_VERSION = $(shell $(MYSQLFLAG_CONFIG) --version | sed s:\\..*::)
  27. endif
  28. ifeq ($(findstring 5,$(MYSQLFLAG_VERSION)), 5)
  29. MYSQLFLAG_CONFIG_ARGUMENT = --include
  30. endif
  31. ifeq ($(findstring 4,$(MYSQLFLAG_VERSION)), 4)
  32. MYSQLFLAG_CONFIG_ARGUMENT = --include
  33. endif
  34. ifndef MYSQLFLAG_CONFIG_ARGUMENT
  35. MYSQLFLAG_CONFIG_ARGUMENT = --cflags
  36. endif
  37. ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /)
  38. MYSQLFLAG_INCLUDE = $(shell $(MYSQLFLAG_CONFIG) $(MYSQLFLAG_CONFIG_ARGUMENT))
  39. else
  40. MYSQLFLAG_INCLUDE = -I$(MYSQLFLAG_INCLUDE_DEFAULT)
  41. endif
  42. LIB_S_DEFAULT = -L/usr/local/lib/mysql -lmysqlclient -lz
  43. MYSQLFLAG_CONFIG = $(shell which mysql_config)
  44. ifeq ($(findstring /,$(MYSQLFLAG_CONFIG)), /)
  45. LIB_S = $(shell $(MYSQLFLAG_CONFIG) --libs)
  46. else
  47. LIB_S = $(LIB_S_DEFAULT)
  48. endif
  49. MYLIB = CC="$(CC)" CFLAGS="$(CFLAGS) $(MYSQLFLAG_INCLUDE)" LIB_S="$(LIB_S)"
  50. endif
  51. MKDEF = CC="$(CC)" CFLAGS="$(CFLAGS)"
  52. all: conf txt
  53. conf:
  54. cp -r conf-tmpl conf
  55. rm -rf conf/.svn conf/*/.svn
  56. txt : src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile conf
  57. cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd ..
  58. cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd ..
  59. cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd ..
  60. cd src ; cd map ; $(MAKE) $(MKDEF) $@ ; cd ..
  61. cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd ..
  62. ifdef SQLFLAG
  63. sql: src/common/GNUmakefile src/login_sql/GNUmakefile src/char_sql/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile src/txt-converter/login/GNUmakefile src/txt-converter/char/GNUmakefile conf
  64. cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd ..
  65. cd src ; cd login_sql ; $(MAKE) $(MYLIB) $@ ; cd ..
  66. cd src ; cd char_sql ; $(MAKE) $(MYLIB) $@ ; cd ..
  67. cd src ; cd map ; $(MAKE) $(MYLIB) $@ ; cd ..
  68. cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd ..
  69. cd src ; cd txt-converter ; cd login ; $(MAKE) $(MYLIB) $@ ; cd ..
  70. cd src ; cd txt-converter ; cd char ; $(MAKE) $(MYLIB) $@ ; cd ..
  71. else
  72. sql:
  73. $(MAKE) CC="$(CC)" OPT="$(OPT)" SQLFLAG=1 $@
  74. endif
  75. clean: src/common/GNUmakefile src/login/GNUmakefile src/char/GNUmakefile src/map/GNUmakefile src/ladmin/GNUmakefile src/txt-converter/login/GNUmakefile src/txt-converter/char/GNUmakefile
  76. cd src ; cd common ; $(MAKE) $(MKDEF) $@ ; cd ..
  77. cd src ; cd login ; $(MAKE) $(MKDEF) $@ ; cd ..
  78. cd src ; cd login_sql ; $(MAKE) $(MKLIB) $@ ; cd ..
  79. cd src ; cd char ; $(MAKE) $(MKDEF) $@ ; cd ..
  80. cd src ; cd char_sql ; $(MAKE) $(MKLIB) $@ ; cd ..
  81. cd src ; cd map ; $(MAKE) $(MKLIB) $@ ; cd ..
  82. cd src ; cd ladmin ; $(MAKE) $(MKDEF) $@ ; cd ..
  83. cd src ; cd txt-converter ; cd login ; $(MAKE) $(MKLIB) $@ ; cd ..
  84. cd src ; cd txt-converter ; cd char ; $(MAKE) $(MKLIB) $@ ; cd ..
  85. tools:
  86. cd tool && $(MAKE) $(MKDEF) && cd ..
  87. $(CC) -o setupwizard setupwizard.c
  88. src/common/GNUmakefile: src/common/Makefile
  89. sed -e 's/$$>/$$^/' src/common/Makefile > src/common/GNUmakefile
  90. src/login/GNUmakefile: src/login/Makefile
  91. sed -e 's/$$>/$$^/' src/login/Makefile > src/login/GNUmakefile
  92. src/login_sql/GNUmakefile: src/login_sql/Makefile
  93. sed -e 's/$$>/$$^/' src/login_sql/Makefile > src/login_sql/GNUmakefile
  94. src/char/GNUmakefile: src/char/Makefile
  95. sed -e 's/$$>/$$^/' src/char/Makefile > src/char/GNUmakefile
  96. src/char_sql/GNUmakefile: src/char_sql/Makefile
  97. sed -e 's/$$>/$$^/' src/char_sql/Makefile > src/char_sql/GNUmakefile
  98. src/map/GNUmakefile: src/map/Makefile
  99. sed -e 's/$$>/$$^/' src/map/Makefile > src/map/GNUmakefile
  100. src/ladmin/GNUmakefile: src/ladmin/Makefile
  101. sed -e 's/$$>/$$^/' src/ladmin/Makefile > src/ladmin/GNUmakefile
  102. src/txt-converter/login/GNUmakefile: src/txt-converter/login/Makefile
  103. sed -e 's/$$>/$$^/' src/txt-converter/login/Makefile > src/txt-converter/login/GNUmakefile
  104. src/txt-converter/char/GNUmakefile: src/txt-converter/char/Makefile
  105. sed -e 's/$$>/$$^/' src/txt-converter/char/Makefile > src/txt-converter/char/GNUmakefile