inweb-bootstrap/Materials/linux-make-settings.mk
2019-03-10 23:46:11 +00:00

82 lines
3 KiB
Makefile

# Make settings for integrating Inform's user interface and core software.
# This file contains only those settings likely to differ on different
# platforms, and the idea is that each user interface maintainer will keep
# his or her own version of this file.
# This is the Gnome version, by Philip Chimento
INTEST = intest/Tangled/intest
INWEB = inweb/Tangled/inweb
# First, the locations to which resources must be copied, inside the
# application. These pathnames mustn't contain spaces:
BUILTINCOMPS = gnome-inform7/src/ni
INTERNAL = gnome-inform7/data
BUILTINHTML = gnome-inform7/data/Resources
BUILTINHTMLINNER = gnome-inform7/data/Resources/en
# The I6 compiler is one of the tools living in the BUILTINCOMPS folder, but
# its name customarily differs between platforms.
I6COMPILERNAME = inform6
# The I6 source code needs a constant defined to tell it what platform it'll
# be used on, so:
INFORM6OS = LINUX
# The following should contain "--rewrite-standard-rules" only for Mac OS X,
# and then probably only for Graham Nelson's master copy. (The rewriting in
# question reconciles the documentation cross-references in the application,
# by changing the "Document X at Y" sentences in the Standard Rules.)
# For instance, for Windows this should be simply be "windows_app".
INDOCOPTS = gnome_app
# -multi in the following runs "make check" with processes divided among what
# are expected to be four processors, for a substantial speed gain, but doesn't
# change the outcome:
INTESTOPTS = -platform=gnome
# On most Linux systems GCC is installed and not Clang.
GCC = gcc
GCCOPTS = -D_BSD_SOURCE -DPLATFORM_UNIX -fdiagnostics-color=auto
# To excuse these warning waivers:
# -Wno-pointer-to-int-cast: we use the gcc extension allowing (void *) pointers to increment
# -Wno-unused-parameter: we don't much care if a function argument isn't used
# -Wno-unused-but-set-variable: we don't much care about this either
# -Wno-unknown-pragmas: there is plenty of #pragma clang and we don't want a warning every time it is encountered
GCCWARNINGS = -Wall -Wextra -Wno-pointer-to-int-cast -Wno-unused-parameter -Wno-unused-but-set-variable -Wno-unknown-pragmas
# (For cblorb, where we make a lot of use of sscanf, it's a nuisance to be warned
# about entirely legal format strings passed as variables.)
CBLORBWARNINGS = -Wno-format-nonliteral
# The following is needed when compiling glulxe, as part of dumb-glulx, which
# is used in testing. For Mac OS X and probably all Unix-based systems, it
# wants to be OS_UNIX; for Windows it probably wants to be WIN32. See the file
# osdepend.c in the glulxe distribution.
GLULXEOS = OS_UNIX
# On Mac OS X, no special options are needed for linking, but on some Unix
# builds we need to use ld rather than gcc and to apply various options.
LINK = $(GCC) $(GCCOPTS) -g
LINKEROPTS = -lm
# On most systems, the following will be the traditional archiver "ar -r", but
# for modern Mac OS X use we need to use Apple's replacement "libtool", which
# is able to cope with fat (i.e., multiple-architecture) binaries.
ARTOOL = ar -r