comparison Makefile.cross-mingw @ 712:3a3e4fc53ac7

Refactor the build system a bit.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 07 Dec 2022 13:19:25 +0200
parents Makefile.w32@f1df1cf69a38
children 93d0e1547842
comparison
equal deleted inserted replaced
711:6b79b3438818 712:3a3e4fc53ac7
1 ###
2 ### For Win32/Win64 version cross-compilation via MinGW
3 ### compiler suite under Linux/Unix
4 ###
5 #
6 # This Makefile assumes that you have MinGW installed under /usr
7 # the way Debian MinGW packages do. It also assumes that you have
8 # built/installed SDL2 and PDCurses 3.9 (SDL2 variant) under
9 # /usr/local (not /usr!) in similar fashion.
10 #
11 # For differing configurations you will have to either edit this
12 # file or alternatively provide make parameters, e.g.
13 #
14 # make -f Makefile.cross-mingw MINGW=64 BINTOOL_PREFIX=foo-bar-zoo
15 #
16 ifeq ($(MINGW),64)
17 BINTOOL_PREFIX ?= x86_64-w64-mingw32-
18 MINGW_SYS_PATH ?= /usr/x86_64-w64-mingw32
19 MINGW_LOCAL_PATH ?= /usr/local/x86_64-w64-mingw32
20 OBJPATH ?= ./obj/win64/
21 else
22 BINTOOL_PREFIX ?= i686-w64-mingw32-
23 MINGW_SYS_PATH ?= /usr/i686-w64-mingw32
24 MINGW_LOCAL_PATH ?= /usr/local/i686-w64-mingw32
25 OBJPATH ?= ./obj/win32/
26 endif
27
28 BINPATH ?= ./exe/
29 BINEXT ?= .exe
30 CC = $(BINTOOL_PREFIX)gcc
31 AR = $(BINTOOL_PREFIX)ar
32 RANLIB = $(BINTOOL_PREFIX)ranlib
33 RM ?= rm
34 DOC = $(BINPATH)/README.html
35 WINDRES ?= $(BINTOOL_PREFIX)windres
36
37
38 SDL_CFLAGS ?= $(shell $(MINGW_LOCAL_PATH)/bin/sdl2-config --cflags)
39 SDL_LDFLAGS ?= $(shell $(MINGW_LOCAL_PATH)/bin/sdl2-config --libs)
40
41 CFLAGS += -mwindows -DTH_BYTEORDER=TH_LITTLE_ENDIAN -I$(MINGW_LOCAL_PATH)/include $(SDL_CFLAGS)
42 LDFLAGS += -lws2_32 -lole32 -mwindows $(MINGW_LOCAL_PATH)/lib/libpdcurses.a $(SDL_LDFLAGS)
43 LDFLAGS += -s
44
45 CFLAGS += -DHAVE_STRING_H
46 CFLAGS += -DHAVE_INTTYPES_H
47
48
49 ###
50 ### Miscellaneous
51 ###
52 EXTRAOBJS = $(OBJPATH)resource.o
53 ICON = resource.ico
54
55 include Makefile.gen
56
57 $(OBJPATH)resource.rc: resource.rc.in $(ICON) VERSION
58 sed -e "s/@VERSION@/$(NN_VERSION)/g;s/@VERSION_COM@/$(NN_VERSION_COM)/g;s/@ICON@/$(ICON)/g;s#@EXE@#$(notdir $(NNCHAT_BIN))#g" < $< > $@
59
60 $(OBJPATH)resource.o: $(OBJPATH)resource.rc
61 $(WINDRES) $< -O coff -o $@
62