aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2002-02-16 00:28:37 +0000
committerTravis Howell2002-02-16 00:28:37 +0000
commit2cae51c252875eb4a0f0d6d26f01f4a1cbc49ba0 (patch)
tree58b4ea0c835f5146c005ee677db0d2552548b24c
parent0b02fccef04c1c054fdf0dfefa399f3992b19297 (diff)
downloadscummvm-rg350-2cae51c252875eb4a0f0d6d26f01f4a1cbc49ba0.tar.gz
scummvm-rg350-2cae51c252875eb4a0f0d6d26f01f4a1cbc49ba0.tar.bz2
scummvm-rg350-2cae51c252875eb4a0f0d6d26f01f4a1cbc49ba0.zip
Added mingw support and makefile.
svn-id: r3597
-rw-r--r--Makefile.mingw48
-rw-r--r--scummsys.h23
2 files changed, 71 insertions, 0 deletions
diff --git a/Makefile.mingw b/Makefile.mingw
new file mode 100644
index 0000000000..625434a9b9
--- /dev/null
+++ b/Makefile.mingw
@@ -0,0 +1,48 @@
+# Where is scummvm will be installed
+SCUMMVMPATH=C:/scummvm
+SRC=.
+
+### Modify these paths
+SDL_CFLAGS=-I$(SRC)/sdl/include
+SDL_LIBS=-L$(SRC)/sdl/lib -lSDLmain -lSDL
+
+CC = gcc
+CFLAGS = -g -Wno-multichar
+DEFINES = -DUSE_ADLIB
+LDFLAGS :=
+INCLUDES:= $(SDL_CFLAGS) -I./ -I./sound
+CPPFLAGS= $(DEFINES) $(INCLUDES)
+LIBS = -lmingw32 $(SDL_LIBS) -mwindows -mconsole
+
+EXEC=scummvm.exe
+
+INCS = scumm.h scummsys.h stdafx.h
+
+OBJS = actor.o boxes.o costume.o gfx.o object.o resource.o \
+ saveload.o script.o scummvm.o sound.o string.o \
+ sys.o verbs.o sdl.o script_v1.o script_v2.o debug.o gui.o \
+ sound/imuse.o sound/fmopl.o sound/adlib.o sound/gmidi.o debugrl.o \
+ akos.o
+
+.cpp.o:
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
+
+all: $(EXEC)
+
+$(EXEC): $(OBJS)
+ $(CC) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS)
+
+clean:
+ rm -f $(OBJS) $(EXEC)
+
+install: $(EXEC)
+ mkdir -p $(SCUMMVMPATH)
+ strip $(EXEC) -o $(SCUMMVMPATH)/$(EXEC)
+
+dist: install
+ cp copying.txt $(SCUMMVMPATH)/copying.txt
+ cp readme.txt $(SCUMMVMPATH)/readme.txt
+ cp whatsnew.txt $(SCUMMVMPATH)/whatsnew.txt
+ cp SDL/README-SDL.txt $(SCUMMVMPATH)/README-SDL.txt
+ cp SDL/lib/SDL.dll $(SCUMMVMPATH)/SDL.dll
+ u2d $(SCUMMVMPATH)/readme.txt
diff --git a/scummsys.h b/scummsys.h
index cfcb163edf..c845607435 100644
--- a/scummsys.h
+++ b/scummsys.h
@@ -74,6 +74,29 @@ typedef signed long int32;
#define START_PACK_STRUCTS pack (push,1)
#define END_PACK_STRUCTS pack(pop)
+#elif defined(__MINGW32__)
+
+#define scumm_stricmp stricmp
+#define CHECK_HEAP
+#define SCUMM_LITTLE_ENDIAN
+
+#define FORCEINLINE inline
+#define NORETURN __attribute__((__noreturn__))
+#define GCC_PACK __attribute__((packed))
+#define _HEAPOK 0
+
+typedef unsigned char byte;
+typedef unsigned char uint8;
+typedef unsigned short uint16;
+typedef unsigned long uint32;
+typedef unsigned int uint;
+typedef signed char int8;
+typedef signed short int16;
+typedef signed long int32;
+
+#define START_PACK_STRUCTS pack (push,1)
+#define END_PACK_STRUCTS pack(pop)
+
#elif (defined(UNIX) || defined(__APPLE__))
#define scumm_stricmp strcasecmp