From 1e3aed81a956c33728153bef8ce40af9f48e5a73 Mon Sep 17 00:00:00 2001 From: Matthew Mondor Date: Sat, 12 Jul 2014 08:42:49 +0000 Subject: [PATCH] Adapt for mingw32 cross-compilation --- mmsoftware/mystic_ships/client/GNUmakefile | 69 +++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 21 deletions(-) diff --git a/mmsoftware/mystic_ships/client/GNUmakefile b/mmsoftware/mystic_ships/client/GNUmakefile index 25be517..4e71b4f 100644 --- a/mmsoftware/mystic_ships/client/GNUmakefile +++ b/mmsoftware/mystic_ships/client/GNUmakefile @@ -1,6 +1,7 @@ -# $Id: GNUmakefile,v 1.6 2014/06/29 23:58:38 mmondor Exp $ +# $Id: GNUmakefile,v 1.7 2014/07/12 08:42:49 mmondor Exp $ CC := cc +CC_HOST := cc RM := rm UNAME := uname DATE := date @@ -39,26 +40,47 @@ RAWFILES_C := $(addsuffix .c, $(RAWFILES_ENC)) RAWFILES_H := $(addsuffix .h, $(RAWFILES_ENC)) RAWFILES_O := $(addsuffix .o, $(RAWFILES_ENC)) -SDL_CFLAGS := $(shell sdl-config --cflags) -SDL_LDFLAGS := $(shell sdl-config --libs) -SDL_LDFLAGS += -lSDL_image -lSDL_mixer -lSDL_net -lSDL_gfx - -Z_CFLAGS := -I/usr/local/include -Z_LDFLAGS := -lz - -LDFLAGS += -lm - # OS dependent settings follow OS_TARGET := UNIX -OS := $(shell $(UNAME) -s) +SDLCONFIG := sdl-config +EXE_SUFFIX := -ifneq (,$(findstring CYGWIN,$(OS))) - # cygwin-mingw +# MINGW=yes gmake +ifdef MINGW OS_TARGET := MINGW - CFLAGS += -mno-cygwin -I/usr/include/mingw -DWIN32 - LDFLAGS += -mwindows -mno-cygwin -L/usr/lib/mingw -L/usr/local/lib + OS := MINGW +else + OS := $(shell $(UNAME) -s) +endif + +ifneq (,$(findstring MINGW,$(OS))) + # i386--mingw32 from NetBSD, libraries under /usr/local/mingw32/ + OS_TARGET := MINGW + EXE_SUFFIX := .exe + PREFIX_PKG := /usr/pkg/cross/i386--mingw32 + PREFIX_OPT := /usr/local/mingw32 + CFLAGS += -I$(PREFIX_PKG)/include -I$(PREFIX_OPT)/include -DWIN32 + LDFLAGS += -mwindows -L$(PREFIX_PKG)/lib -L$(PREFIX_OPT)/lib # GL_CFLAGS := # GL_LDFLAGS := -lopengl32 -lglu32 + # New path to tools + SDLCONFIG := $(PREFIX_OPT)/bin/sdl-config +# PKG_CONFIG := /usr/pkg/bin/pkg-config +# PKG_CONFIG_PATH := $(PREFIX_OPT)/lib/pkgconfig +# MAKE := gmake + CPP := $(PREFIX_PKG)/bin/cpp + CC := $(PREFIX_PKG)/bin/cc +# AS := $(PREFIX_PKG)/bin/as +# CXX := $(PREFIX_PKG)/bin/g++ +# LD := $(PREFIX_PKG)/bin/ld +# AR := $(PREFIX_PKG)/bin/ar + STRIP := $(PREFIX_PKG)/bin/strip +# RANLIB := $(PREFIX_PKG)/bin/ranlib +# OBJDUMP := $(PREFIX_PKG)/bin/objdump +# NM := $(PREFIX_PKG)/bin/nm +# DLLTOOL := $(PREFIX_PKG)/bin/dlltool +# WINDRES := $(PREFIX_PKG)/bin/windres +# HOSTARCH := i386--mingw32 endif ifneq (,$(findstring Darwin,$(OS))) @@ -73,12 +95,17 @@ endif ifneq (,$(findstring UNIX,$(OS_TARGET))) # Other unix (BSD, Linux) - CFLAGS += -I/usr/include -I/usr/pkg/include -I/usr/X11R7/include - LDFLAGS += -L/usr/lib -L/usr/pkg/lib -L/usr/X11R7/lib + CFLAGS += -I/usr/local/include -I/usr/include -I/usr/pkg/include -I/usr/X11R7/include + LDFLAGS += -L/usr/local/lib -L/usr/lib -L/usr/pkg/lib -L/usr/X11R7/lib # GL_CFLAGS := # GL_LDFLAGS := -lGL -lGLU endif +SDL_CFLAGS := $(shell $(SDLCONFIG) --cflags) +SDL_LDFLAGS := $(shell $(SDLCONFIG) --libs) +SDL_LDFLAGS += -lSDL_image -lSDL_mixer -lSDL_net -lSDL_gfx +Z_CFLAGS := -I/usr/local/include +Z_LDFLAGS := -lz SEED := $(shell $(DATE) +%s) @@ -97,10 +124,10 @@ all: $(BIN) $(CC) -c $(CFLAGS) -I. -o $@ $< encode: - $(CC) -o src/encode src/encode.c + $(CC_HOST) -o src/encode src/encode.c filetoc: - $(CC) -o src/file-to-c src/file-to-c.c + $(CC_HOST) -o src/file-to-c src/file-to-c.c $(RAWFILES_O): encode filetoc src/encode $(basename $(basename $@)) $(basename $@) $(SEED) @@ -108,8 +135,8 @@ $(RAWFILES_O): encode filetoc $(CC) -c -o $@ $(basename $@).c $(BIN): $(OBJS) $(RAWFILES_O) - $(CC) -o $@ $(OBJS) $(RAWFILES_O) $(LDFLAGS) - $(STRIP) $@* + $(CC) -o $@$(EXE_SUFFIX) $(OBJS) $(RAWFILES_O) $(LDFLAGS) + $(STRIP) $@$(EXE_SUFFIX) clean: $(RM) -f $(BIN) $(BIN).exe $(OBJS) \ -- 2.9.0