Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. CONFIG ?= config.default
  2. -include $(CONFIG)
  3.  
  4.  
  5. BINARY    ?= bin/wolf3d
  6. PREFIX    ?= /usr/local
  7. MANPREFIX ?= $(PREFIX)/share/man/
  8. MANPAGE   ?= man6/wolf4sdl.6
  9. DATADIR   ?= $(PREFIX)/share/games/wolf3d/
  10.  
  11. INSTALL         ?= install
  12. INSTALL_PROGRAM ?= $(INSTALL) -m 555 -s
  13. INSTALL_MAN     ?= $(INSTALL) -m 444
  14. INSTALL_DATA    ?= $(INSTALL) -m 444
  15.  
  16.  
  17. SDL_CONFIG  ?= sdl-config
  18. CFLAGS_SDL  ?= $(shell $(SDL_CONFIG) --cflags)
  19. LDFLAGS_SDL ?= $(shell $(SDL_CONFIG) --libs)
  20.  
  21.  
  22. CFLAGS += $(CFLAGS_SDL)
  23.  
  24. #CFLAGS += -Wall
  25. #CFLAGS += -W
  26. CFLAGS += -Wpointer-arith
  27. CFLAGS += -Wreturn-type
  28. CFLAGS += -Wwrite-strings
  29. CFLAGS += -Wcast-align
  30.  
  31. ifdef DATADIR
  32.     CFLAGS += -DDATADIR=\"$(DATADIR)\"
  33. endif
  34.  
  35. CCFLAGS += $(CFLAGS)
  36. CCFLAGS += -std=gnu99
  37. CCFLAGS += -Werror-implicit-function-declaration
  38. CCFLAGS += -Wimplicit-int
  39. CCFLAGS += -Wsequence-point
  40.  
  41. CXXFLAGS += $(CFLAGS)
  42.  
  43. LDFLAGS += $(LDFLAGS_SDL)
  44.  
  45. SRCS :=
  46. SRCS += mame/fmopl.cpp
  47. SRCS += id_ca.cpp
  48. SRCS += id_in.cpp
  49. SRCS += id_pm.cpp
  50. SRCS += id_sd.cpp
  51. SRCS += id_us_1.cpp
  52. SRCS += id_vh.cpp
  53. SRCS += id_vl.cpp
  54. SRCS += signon.cpp
  55. SRCS += wl_act1.cpp
  56. SRCS += wl_act2.cpp
  57. SRCS += wl_agent.cpp
  58. SRCS += wl_atmos.cpp
  59. SRCS += wl_cloudsky.cpp
  60. SRCS += wl_debug.cpp
  61. SRCS += wl_draw.cpp
  62. SRCS += wl_floorceiling.cpp
  63. SRCS += wl_game.cpp
  64. SRCS += wl_inter.cpp
  65. SRCS += wl_main.cpp
  66. SRCS += wl_menu.cpp
  67. SRCS += wl_parallax.cpp
  68. SRCS += wl_play.cpp
  69. SRCS += wl_state.cpp
  70. SRCS += wl_text.cpp
  71.  
  72. SRCS += SDL_mixer/mixer.c
  73. SRCS += SDL_mixer/music.c
  74. SRCS += SDL_mixer/load_aiff.c
  75. SRCS += SDL_mixer/load_voc.c
  76. SRCS += SDL_mixer/effects_internal.c
  77. SRCS += SDL_mixer/effect_position.c
  78.  
  79.  
  80. DEPS = $(filter %.d, $(SRCS:.c=.d) $(SRCS:.cpp=.d))
  81. OBJS = $(filter %.o, $(SRCS:.c=.o) $(SRCS:.cpp=.o))
  82.  
  83. .SUFFIXES:
  84. .SUFFIXES: .c .cpp .d .o
  85.  
  86. Q ?= @
  87.  
  88. all: $(BINARY)
  89.  
  90. ifndef NO_DEPS
  91. depend: $(DEPS)
  92.  
  93. ifeq ($(findstring $(MAKECMDGOALS), clean depend Data),)
  94. -include $(DEPS)
  95. endif
  96. endif
  97.  
  98. $(BINARY): $(OBJS)
  99.         @echo '===> LD $@'
  100.         $(Q)$(CXX) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $@
  101.  
  102. .c.o:
  103.         @echo '===> CC $<'
  104.         $(Q)$(CC) $(CCFLAGS) -c $< -o $@
  105.  
  106. .cpp.o:
  107.         @echo '===> CXX $<'
  108.         $(Q)$(CXX) $(CXXFLAGS) -c $< -o $@
  109.  
  110. .c.d:
  111.         @echo '===> DEP $<'
  112.         $(Q)$(CC) $(CCFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@
  113.  
  114. .cpp.d:
  115.         @echo '===> DEP $<'
  116.         $(Q)$(CXX) $(CXXFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@
  117.  
  118. clean distclean:
  119.         @echo '===> CLEAN'
  120.         $(Q)rm -fr $(DEPS) $(OBJS) $(BINARY)
  121.  
  122. install: $(BINARY)
  123.         @echo '===> INSTALL'
  124.         $(Q)$(INSTALL) -d $(PREFIX)/bin
  125.         $(Q)$(INSTALL_PROGRAM) $(BINARY) $(PREFIX)/bin
  126.         $(Q)$(INSTALL_MAN) $(MANPAGE) $(MANPREFIX)/man6
  127.