Makefile.in 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. COMMON_H = $(shell ls ../common/*.h)
  2. COMMON_AR = ../common/obj/common.a
  3. COMMON_INCLUDE = -I../common
  4. MT19937AR_OBJ = ../../3rdparty/mt19937ar/mt19937ar.o
  5. MT19937AR_H = ../../3rdparty/mt19937ar/mt19937ar.h
  6. MT19937AR_INCLUDE = -I../../3rdparty/mt19937ar
  7. LIBCONFIG_H = $(shell ls ../../3rdparty/libconfig/*.h)
  8. LIBCONFIG_AR = ../../3rdparty/libconfig/obj/libconfig.a
  9. LIBCONFIG_INCLUDE = -I../../3rdparty/libconfig
  10. LOGIN_OBJ = $(shell ls *.c | sed -e "s/\.c/\.o/g")
  11. LOGIN_DIR_OBJ = $(LOGIN_OBJ:%=obj/%)
  12. LOGIN_H = $(shell ls *.h)
  13. HAVE_MYSQL=@HAVE_MYSQL@
  14. ifeq ($(HAVE_MYSQL),yes)
  15. SERVER_DEPENDS=login-server
  16. else
  17. SERVER_DEPENDS=needs_mysql
  18. endif
  19. ALL_DEPENDS=server
  20. @SET_MAKE@
  21. #####################################################################
  22. .PHONY :all server clean help
  23. all: $(ALL_DEPENDS)
  24. server: $(SERVER_DEPENDS)
  25. clean:
  26. @echo " CLEAN login"
  27. @rm -rf *.o obj ../../@OLOG@@EXEEXT@
  28. help:
  29. @echo "possible targets are 'server' 'all' 'clean' 'help'"
  30. @echo "'server' - login server"
  31. @echo "'all' - builds all above targets"
  32. @echo "'clean' - cleans builds and objects"
  33. @echo "'help' - outputs this message"
  34. #####################################################################
  35. needs_mysql:
  36. @echo "MySQL not found or disabled by the configure script"
  37. @exit 1
  38. # object directories
  39. obj:
  40. @echo " MKDIR obj"
  41. @-mkdir obj
  42. #executables
  43. login-server: obj $(LOGIN_DIR_OBJ) $(COMMON_AR) $(MT19937AR_OBJ)
  44. @echo " LD @OLOG@@EXEEXT@"
  45. @@CC@ @LDFLAGS@ -o ../../@OLOG@@EXEEXT@ $(LOGIN_DIR_OBJ) $(COMMON_AR) $(MT19937AR_OBJ) $(LIBCONFIG_AR) @LIBS@ @MYSQL_LIBS@
  46. # login object files
  47. obj/%.o: %.c $(LOGIN_H) $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H)
  48. @echo " CC $<"
  49. @@CC@ @CFLAGS@ $(COMMON_INCLUDE) $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) -DWITH_SQL @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
  50. # missing object files
  51. $(COMMON_AR):
  52. @$(MAKE) -C ../common server
  53. $(MT19937AR_OBJ):
  54. @$(MAKE) -C ../../3rdparty/mt19937ar
  55. $(LIBCONFIG_AR):
  56. @$(MAKE) -C ../../3rdparty/libconfig