CXX := c++ AR := ar cru RANLIB := ranlib MKDIR := mkdir -p ECHO := echo -n CAT := cat RM := rm -f RM_REC := $(RM) -r ZIP := zip -q CP := cp BUILD_MAC:= RESSW := --define __WIN32__ --define __WIN95__ --define __GNUWIN32__ REZ_CMD := `wx-config --rezflags` OBJS := file.o scummex.o resource.o image.o wxwindows.o descumm.o descumm6.o codec37.o codec47.o bomp.o scaler.o util.o CXXFLAGS := -DOSUNIX -g -O -Wall -Wuninitialized -Wshadow -Wstrict-prototypes -Wno-unused-variable -Wno-long-long -Wno-multichar -Wno-unknown-pragmas CXXFLAGS += `wx-config --cxxflags` `sdl-config --cflags` LIBS := `wx-config --libs` `sdl-config --libs` INCLUDES := -I. CXXFLAGS += $(INCLUDES) MODULE_DIRS := MODULES := sound # Default build rule all: scummex -include $(addsuffix /module.mk,$(MODULES)) # The name for the directory used for depenency tracking DEPDIR := .deps DEPDIRS := $(addsuffix /$(DEPDIR),$(MODULE_DIRS)) # Main executable build rule scummex: ${OBJS} $(CXX) $+ ${LIBS} -o $@ ifneq "$(BUILD_MAC)" "" $(REZ_CMD) scummex endif clean: rm -f scummex $(OBJS) distclean: clean $(RM_REC) $(DEPDIRS) .PHONY: all clean distclean mac .SUFFIXES: .o .cpp # C++ build rule with dependency tracking (requires GCC) .cpp.o: $(MKDIR) $(*D)/$(DEPDIR) $(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d2" $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o $(ECHO) "$(*D)/" > $(*D)/$(DEPDIR)/$(*F).d $(CAT) "$(*D)/$(DEPDIR)/$(*F).d2" >> "$(*D)/$(DEPDIR)/$(*F).d" $(RM) "$(*D)/$(DEPDIR)/$(*F).d2" # Include the dependency tracking files. We add /dev/null at the end # of the list to avoid a warning/error if no .d file exist -include $(wildcard $(addsuffix /*.d,$(DEPDIRS))) /dev/null