view Makefile.cross-mingw @ 718:1ab9b538c0bb default tip

Rename Makefile.gen to Makefile.common
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 03 Aug 2023 19:17:58 +0300
parents 93d0e1547842
children
line wrap: on
line source

###
### For Win32/Win64 version cross-compilation via MinGW
### compiler suite under Linux/Unix
###
#
# This Makefile assumes that you have MinGW installed under /usr
# the way Debian MinGW packages do. It also assumes that you have
# built/installed SDL2 and PDCurses 3.9 (SDL2 variant) under
# /usr/local (not /usr!) in similar fashion.
#
# For differing configurations you will have to either edit this
# file or alternatively provide make parameters, e.g.
#
# make -f Makefile.cross-mingw MINGW=64 BINTOOL_PREFIX=foo-bar-zoo
#
ifeq ($(MINGW),64)
BINTOOL_PREFIX ?= x86_64-w64-mingw32-
MINGW_SYS_PATH ?= /usr/x86_64-w64-mingw32
MINGW_LOCAL_PATH ?= /usr/local/x86_64-w64-mingw32
OBJPATH ?= ./obj/win64/
else
BINTOOL_PREFIX ?= i686-w64-mingw32-
MINGW_SYS_PATH ?= /usr/i686-w64-mingw32
MINGW_LOCAL_PATH ?= /usr/local/i686-w64-mingw32
OBJPATH ?= ./obj/win32/
endif

BINPATH ?= ./exe/
BINEXT ?= .exe
CC = $(BINTOOL_PREFIX)gcc
AR = $(BINTOOL_PREFIX)ar
RANLIB = $(BINTOOL_PREFIX)ranlib
RM ?= rm
DOC = $(BINPATH)/README.html
WINDRES ?= $(BINTOOL_PREFIX)windres


SDL_CFLAGS ?= $(shell $(MINGW_LOCAL_PATH)/bin/sdl2-config --cflags)
SDL_LDFLAGS ?= $(shell $(MINGW_LOCAL_PATH)/bin/sdl2-config --libs)

CFLAGS += -mwindows -DTH_BYTEORDER=TH_LITTLE_ENDIAN -I$(MINGW_LOCAL_PATH)/include $(SDL_CFLAGS)
LDFLAGS += -lws2_32 -lole32 -mwindows $(MINGW_LOCAL_PATH)/lib/libpdcurses.a $(SDL_LDFLAGS)
LDFLAGS += -s

CFLAGS += -DHAVE_STRING_H
CFLAGS += -DHAVE_STDBOOL_H
CFLAGS += -DHAVE_INTTYPES_H


###
### Miscellaneous
###
EXTRAOBJS = $(OBJPATH)resource.o
ICON = resource.ico

include Makefile.common

$(OBJPATH)resource.rc: resource.rc.in $(ICON) VERSION
	sed -e "s/@VERSION@/$(NN_VERSION)/g;s/@VERSION_COM@/$(NN_VERSION_COM)/g;s/@ICON@/$(ICON)/g;s#@EXE@#$(notdir $(NNCHAT_BIN))#g" < $< > $@

$(OBJPATH)resource.o: $(OBJPATH)resource.rc
	$(WINDRES) $< -O coff -o $@