2
-include ../config.$(CFG)
4
OSTYPES = beos cygwin freebsd haiku linux mingw mac
6
ifeq ($(findstring $(OSTYPE), $(OSTYPES)),)
7
$(error Unkown OSTYPE "$(OSTYPE)", must be one of "$(OSTYPES)")
10
# Absolutely essential
14
ifeq ($(OSTYPE),cygwin)
15
OS_INC ?= -I/usr/include/mingw
17
STD_LIBS += -lwinmm -lcurses
20
ifeq ($(OSTYPE),mingw)
22
OS_OPT ?= -mno-cygwin -march=pentium
23
# we need the libraries EXACTLY in this order to link
24
STD_LIBS = -lmingw32 -lstdc++ -lwsock32
28
CFLAGS += -DUSE_HW -DUSE_C -Os -fast
29
CXXFLAGS += -DUSE_HW -DUSE_C
33
CFLAGS += -O3 -fno-schedule-insns
34
CXXFLAGS += -O3 -fno-schedule-insns
36
CFLAGS += -minline-all-stringops
44
ifeq ($(shell expr $(DEBUG) \>= 1), 1)
46
CXXFLAGS += -g -DDEBUG
48
ifeq ($(shell expr $(DEBUG) \>= 2), 1)
50
CXXFLAGS += -fno-inline
52
ifeq ($(shell expr $(DEBUG) \>= 3), 1)
62
CFLAGS += -pg -DPROFILE -fno-inline
63
CXXFLAGS += -pg -DPROFILE -fno-inline
67
CFLAGS += -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -Wstrict-prototypes $(OS_INC) $(OS_OPT) $(FLAGS)
68
CXXFLAGS += -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align $(OS_INC) $(OS_OPT) $(FLAGS)
70
# SOLO_SOURCES contains files which are unique to nettool;
71
# SHARED_SOURCES contains those with the exact same object code in nettool and simutrans;
72
# VARIANT_SOURCES contains those which need different .o files for nettool and simutrans.
73
# At the moment they're all treated identically, of course.
74
SOLO_SOURCES += nettool.cc
75
SHARED_SOURCES += ../dataobj/freelist.cc
76
SHARED_SOURCES += ../dataobj/network_address.cc
77
SHARED_SOURCES += ../dataobj/network_cmd.cc
78
SHARED_SOURCES += ../dataobj/network_packet.cc
79
SHARED_SOURCES += ../dataobj/network_socket_list.cc
80
SHARED_SOURCES += ../simdebug.cc
81
SHARED_SOURCES += ../simmem.cc
82
SHARED_SOURCES += ../utils/memory_rw.cc
83
SHARED_SOURCES += ../utils/simstring.cc
84
SHARED_SOURCES += ../utils/fetchopt.cc
85
VARIANT_SOURCES += ../utils/log.cc
86
VARIANT_SOURCES += ../dataobj/network.cc
87
VARIANT_SOURCES += ../dataobj/network_file_transfer.cc
89
SOURCES ?= $(SOLO_SOURCES) $(SHARED_SOURCES) $(VARIANT_SOURCES)
91
BUILDDIR ?= build/$(CFG)
94
ifeq ($(origin NETTOOL_PROGDIR), undefined)
95
NETTOOL_PROGDIR := $(BUILDDIR)/$(TOOL)
98
BUILDDIR := ../$(BUILDDIR)
99
NETTOOL_PROGDIR := ../$(NETTOOL_PROGDIR)
101
TOOL_PROGDIR = $(NETTOOL_PROGDIR)
103
include ../uncommon.mk