Guest User

Untitled

a guest
Jun 29th, 2016
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 5.56 KB | None | 0 0
  1. COMPILE_FOR_LINUX := 1
  2.  
  3. SRCDIR = src
  4. OBJDIR = obj
  5. BINDIR = bin
  6.  
  7. SOURCES := $(wildcard $(SRCDIR)/*.cpp)
  8. HEADERS := $(wildcard $(SRCDIR)/*.h)
  9. OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
  10.  
  11. DEPDIR = .d
  12. $(shell mkdir -p $(DEPDIR) > /dev/null)
  13. $(shell mkdir -p $(DEPDIR)/item > /dev/null)
  14. $(shell mkdir -p $(DEPDIR)/parser > /dev/null)
  15. DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Td
  16.  
  17. CXX = g++ -Wno-narrowing -g
  18. CXXFLAGS = -I./include -I../include -I./include/alogg -I./include/almp3 -I./include/allegro \
  19.   -fPIC -m32\
  20. # -fgnu89-inline
  21.  
  22. COMPILE.cpp = $(CXX) $(DEPFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
  23. POSTCOMPILE = mv -f $(DEPDIR)/$*.Td $(DEPDIR)/$*.d
  24.  
  25. %.o : %.cpp
  26. $(OBJDIR)/%.o : $(SRCDIR)/%.cpp $(DEPDIR)/%.d
  27.     $(COMPILE.cpp) $(OUTPUT_OPTION) $<
  28.     $(POSTCOMPILE)
  29.  
  30. $(DEPDIR)/%.d: ;
  31. .PRECIOUS: $(DEPDIR)/%.d
  32.  
  33. -include $(patsubst %,$(DEPDIR)/%.d,$(basename $(SOURCES)))
  34.  
  35. AUDIO_LIBS = -lgme -lalogg -lalmp3 -laldmb -ldumb
  36. IMAGE_LIBS = -ljpgal -lldpng -lpng -lz
  37.  
  38. ifdef COMPILE_FOR_LINUX
  39.   PLATEXT = -l
  40.   ALLEG_LIB = -L./usr/lib32 -L/usr/lib32/allegro/4.4.2 -lalleg -lm -lpthread -lrt -lSM -lICE -lX11 -lXext -lXext -lXcursor -lXcursor -lXpm -lXxf86vm -lasound -ljack -lpthread -lXxf86dga -lSM -lICE -lX11 -lXext -ldl
  41.   ZCSOUND_ALLEG_LIB = -L./usr/lib32 -L/usr/lib32/allegro/4.4.2 -lalleg -lm -lpthread -lrt -lSM -lICE -lX11 -lXext -lXext -lXcursor -lXcursor -lXpm -lXxf86vm -lasound -ljack -lpthread -lXxf86dga -lSM -lICE -lX11 -lXext -ldl
  42.   #SFLAG = -s
  43.   ZC_ICON = $(OBJDIR)/zc_icon.o
  44.   ZC_ICON_DEPS = $(SRCDIR)/zc_icon.c
  45.   ZC_ICON_CMD = $(CC) $(OPTS) $(CFLAG) -m32 -c $(SRCDIR)/zc_icon.c -o $(OBJDIR)/zc_icon.o $(SFLAG)
  46.   ZQ_ICON = $(OBJDIR)/zq_icon.o
  47.   ZQ_ICON_DEPS = $(SRCDIR)/zq_icon.c
  48.   ZQ_ICON_CMD = $(CC) $(OPTS) $(CFLAG) -m32 -c $(SRCDIR)/zq_icon.c -o $(OBJDIR)/zq_icon.o $(SFLAG)
  49.   RV_ICON = $(OBJDIR)/rv_icon.o
  50.   RV_ICON_DEPS = $(SRCDIR)/rv_icon.c
  51.   RV_ICON_CMD = $(CC) $(OPTS) $(CFLAG) -m32 -c $(SRCDIR)/rv_icon.c -o $(OBJDIR)/rv_icon.o $(SFLAG)
  52.   ZC_PLATFORM = Linux
  53.   LIBDIR = -L/usr/lib32 -L./libs/linux
  54.   SINGLE_INSTANCE_O = single_instance.o
  55.  
  56.     LDFLAGS = -m32
  57.  
  58.     ZCSOUND_SO = libzcsound.so
  59.   ZCSOUND_LIB = -Wl,-rpath,. -L. -lzcsound
  60.   ZCSOUND_LINKOPTS = $(LINKOPTS) -shared -Wl,-soname,zcsound.so -m32
  61. endif
  62.  
  63. ZELDA_PREFIX = zelda
  64. ZQUEST_PREFIX = zquest
  65. ROMVIEW_PREFIX = romview
  66.  
  67. ZELDA_EXE = $(ZELDA_PREFIX)$(PLATEXT)$(EXEEXT)
  68. ZQUEST_EXE = $(ZQUEST_PREFIX)$(PLATEXT)$(EXEEXT)
  69. ROMVIEW_EXE = $(ROMVIEW_PREFIX)$(PLATEXT)$(EXEEXT)
  70.  
  71. ZELDA_OBJECTS := aglogo.o colors.o debug.o decorations.o defdata.o editbox.o EditboxModel.o EditboxView.o ending.o ffscript.o gamedata.o gui.o guys.o init.o items.o jwin.o jwinfsel.o link.o load_gif.o maps.o matrix.o md5.o midi.o pal.o particles.o qst.o save_gif.o script_drawing.o $(SINGLE_INSTANCE_O) sprite.o subscr.o tab_ctl.o tiles.o title.o weapons.o win32.o zc_custom.o zc_init.o zc_items.o zc_sprite.o zc_subscr.o zc_sys.o zelda.o zscriptversion.o zsys.o
  72. ZELDA_OBJECTS := $(addprefix $(OBJDIR)/,$(ZELDA_OBJECTS)) $(ZC_ICON) $(ZCSOUND_SO)
  73.  
  74. ZQUEST_OBJECTS = zquest.o colors.o defdata.o editbox.o EditboxModel.o EditboxView.o gamedata.o gui.o init.o items.o jwin.o jwinfsel.o load_gif.o md5.o midi.o particles.o qst.o questReport.o save_gif.o sprite.o subscr.o tab_ctl.o tiles.o win32.o zc_custom.o zq_class.o zq_cset.o zq_custom.o zq_doors.o zq_files.o zq_items.o zq_init.o zq_misc.o zq_rules.o zq_sprite.o zq_strings.o zq_subscr.o zq_tiles.o zqscale.o zsys.o ffasm.o parser/AST.o parser/BuildVisitors.o parser/ByteCode.o parser/DataStructs.o parser/GlobalSymbols.o parser/lex.yy.o parser/ParseError.o parser/ScriptParser.o parser/SymbolVisitors.o parser/TypeChecker.o parser/UtilVisitors.o parser/y.tab.o
  75. ZQUEST_OBJECTS := $(addprefix $(OBJDIR)/,$(ZQUEST_OBJECTS)) $(ZQ_ICON) $(ZCSOUND_SO)
  76.  
  77. ROMVIEW_OBJECTS = editbox.o EditboxModel.o EditboxView.o gui.o jwin.o jwinfsel.o load_gif.o romview.o save_gif.o tab_ctl.o zqscale.o zsys.o
  78. ROMVIEW_OBJECTS := $(addprefix $(OBJDIR)/,$(ROMVIEW_OBJECTS)) $(RV_ICON)
  79.  
  80. ZCSOUND_OBJECTS = $(OBJDIR)/zcmusic.o $(OBJDIR)/zcmusicd.o
  81.  
  82. .PHONY: default veryclean clean all msg dos win windows linux gp2x test done
  83.  
  84. default: all
  85. msg:
  86.     @echo Compiling Zelda Classic for $(ZC_PLATFORM)...
  87. done:
  88.     @echo Done!
  89. clean:
  90.     rm -f $(ZELDA_OBJECTS) $(ZQUEST_OBJECTS) $(ROMVIEW_OBJECTS)
  91. veryclean: clean
  92.     rm -f $(ZELDA_EXE) $(ZQUEST_EXE) $(ROMVIEW_EXE)
  93.  
  94. all: msg $(ZELDA_EXE) $(ZQUEST_EXE) $(ROMVIEW_EXE) done
  95.  
  96. $(ZCSOUND_SO): $(ZCSOUND_OBJECTS)
  97.     $(CXX) $(CXXFLAGS) $(ZCSOUND_LINKOPTS) -o $(ZCSOUND_SO) $(ZCSOUND_OBJECTS) $(LIBDIR) $(AUDIO_LIBS) $(ZCSOUND_ALLEG_LIB) $(SFLAG) $(WINFLAG)
  98.  
  99. $(ZELDA_EXE): $(ZELDA_OBJECTS)
  100.     $(CXX) $(CXXFLAGS) $(LINKOPTS) -o $(ZELDA_EXE) $(ZELDA_OBJECTS) $(LIBDIR) $(IMAGE_LIBS) $(ZCSOUND_LIB) $(ALLEG_LIB) $(STDCXX_LIB) $(SFLAG) $(WINFLAG)
  101. ifdef COMPRESS
  102.     upx --best $(ZELDA_EXE)
  103. endif
  104.  
  105. $(ZQUEST_EXE): $(ZQUEST_OBJECTS)
  106.     $(CXX) $(CXXFLAGS) $(LINKOPTS) -o $(ZQUEST_EXE) $(ZQUEST_OBJECTS) $(LIBDIR) $(IMAGE_LIBS) $(ZCSOUND_LIB) $(ALLEG_LIB) $(STDCXX_LIB) $(ZQ_ICON) $(SFLAG) $(WINFLAG)
  107. ifdef COMPRESS
  108.     upx --best $(ZQUEST_EXE)
  109. endif
  110.  
  111. $(ROMVIEW_EXE): $(ROMVIEW_OBJECTS)
  112.     $(CXX) $(CXXFLAGS) $(LINKOPTS) -o $(ROMVIEW_EXE) $(ROMVIEW_OBJECTS) $(LIBDIR) $(IMAGE_LIBS) $(ALLEG_LIB) $(STDCXX_LIB) $(RV_ICON) $(SFLAG) $(WINFLAG)
  113. ifdef COMPRESS
  114.     upx --best $(ZQUEST_EXE)
  115. endif
  116.  
  117. $(OBJDIR)/single_instance.o : $(OBJDIR)/single_instance_unix.o
  118.     rm -f $(OBJDIR)/single_instance.o
  119.     cp  $(OBJDIR)/single_instance_unix.o $(OBJDIR)/single_instance.o
  120.  
  121. $(ZC_ICON) : $(ZC_ICON_DEPS)
  122.     $(ZC_ICON_CMD)
  123.  
  124. $(ZQ_ICON) : $(ZQ_ICON_DEPS)
  125.     $(ZQ_ICON_CMD)
  126.  
  127. $(RV_ICON) : $(RV_ICON_DEPS)
  128.     $(RV_ICON_CMD)
Add Comment
Please, Sign In to add comment