Commit graph

169 commits

Author SHA1 Message Date
hendricks266
083fb3cac3 Makefile: Use the override keyword when implicitly disabling Polymer and libvpx when USE_OPENGL=0.
git-svn-id: https://svn.eduke32.com/eduke32@6024 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 11:20:08 +00:00
terminx
28d6086bb0 Split DROIDMENU #define into EDUKE32_SIMPLE_MENU and EDUKE32_ANDROID_MENU. EDUKE32_ANDROID_MENU depends on EDUKE32_SIMPLE_MENU being set, and EDUKE32_SIMPLE_MENU does what you would expect: simplifies the menu options available by removing things not typically found in shipping games. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6013 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-18 22:21:40 +00:00
terminx
bc13f9dd39 Add APPBASENAME to Makefile.common, controlling the resulting binary's default .cfg file name and .log file name. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6010 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-18 22:21:16 +00:00
terminx
0c5d9f8cbe Initial work on standalone (non-Duke3D) binary support.
git-svn-id: https://svn.eduke32.com/eduke32@6009 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-18 22:21:08 +00:00
terminx
00e39e3ffe Support compiling with a custom application name with make APPNAME="something". DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6008 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-18 22:20:58 +00:00
hendricks266
534c98a7b0 Lunatic: Remove guard against building in C++ mode. We now support both!
git-svn-id: https://svn.eduke32.com/eduke32@6000 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-05 05:30:04 +00:00
hendricks266
3f15f87dc2 Remove $(ARCH) from COMMONFLAGS, except under Darwin. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5983 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-01 17:44:56 +00:00
hendricks266
a7cc4e8419 Makefile: Fold OSX_STARTUPWINDOW into STARTUP_WINDOW. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5941 1a8010ca-5511-0410-912e-c29ae57300e0
2016-11-28 04:35:27 +00:00
terminx
466f3aca30 Support building without a startup window through the Makefile. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5928 1a8010ca-5511-0410-912e-c29ae57300e0
2016-11-09 22:51:33 +00:00
hendricks266
4ca5e25e2c Add support for MOD, XM, IT, and S3M tracker music through libxmp-lite.
Building with support must be manually enabled by invoking make with HAVE_XMP=1 on platforms other than Windows, because libxmp-lite is not common in package managers. This setup will be improved in the future.

git-svn-id: https://svn.eduke32.com/eduke32@5927 1a8010ca-5511-0410-912e-c29ae57300e0
2016-11-08 02:59:05 +00:00
hendricks266
6798cb05ee Makefile: Remove -fno-pic from everywhere. This should fix building on Ubuntu 16.10 and any other platform that has PIE enabled.
git-svn-id: https://svn.eduke32.com/eduke32@5920 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-29 16:59:31 +00:00
hendricks266
ccb7a93a7c Makefile: Revert r5864 and move some code introduced in r5762 to a later Mac-only block so that architecture detection is not broken on Linux.
git-svn-id: https://svn.eduke32.com/eduke32@5919 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-29 16:59:28 +00:00
hendricks266
c5247983e7 Makefile: Allow an invocation like make CC=clang-3.8 to work properly.
git-svn-id: https://svn.eduke32.com/eduke32@5869 1a8010ca-5511-0410-912e-c29ae57300e0
2016-09-16 21:55:42 +00:00
hendricks266
9363f7d023 Makefile: Only apply $(ARCH) processing code on Macs.
git-svn-id: https://svn.eduke32.com/eduke32@5864 1a8010ca-5511-0410-912e-c29ae57300e0
2016-09-16 21:55:27 +00:00
hendricks266
8ef2032035 Makefile: Revamp setup of all things SDL.
Highlights:
*Building with msys2 can now take advantage of sdl-config and sdl2-config if present.
*Add a header check to error out if SDL_mixer's major version does not match SDL.
*Building with frameworks on OS X works again.

Notes:
*Those cross compiling, particularly targeting Windows, may need to invoke make with SDLCONFIG='' to avoid bringing in libs and headers from the host.

git-svn-id: https://svn.eduke32.com/eduke32@5778 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:35 +00:00
hendricks266
6e3e490b93 Makefile: Add NULLSTREAM to factor out the NUL part of DONT_PRINT.
git-svn-id: https://svn.eduke32.com/eduke32@5777 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:31 +00:00
hendricks266
619f3a7a8a Makefile: Add a special set of default optimization options when building for the Haswell-specific x86_64h architecture designation.
git-svn-id: https://svn.eduke32.com/eduke32@5776 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:26 +00:00
hendricks266
0434a87e3a Remove trailing whitespace from anything we don't need to rebase from an upstream.
git-svn-id: https://svn.eduke32.com/eduke32@5768 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-05 04:46:28 +00:00
hendricks266
a53a821ec3 Makefile: Switch the detection order of OPTOPT flags so that i386 is checked after x86_64. This ensures full compatibility for fat OS X binaries built using ARCH="-arch i386 -arch x86_64".
git-svn-id: https://svn.eduke32.com/eduke32@5766 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-05 04:46:01 +00:00
hendricks266
005ebde8ce Makefile: Make Objective-C code build as Objective-C++ when we build C code as C++.
git-svn-id: https://svn.eduke32.com/eduke32@5764 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-03 04:50:55 +00:00
hendricks266
ca619df429 Makefile: Add extra optimization defaults for OS X builds since all Intel Macs are guaranteed certain features due to the time of their debut.
git-svn-id: https://svn.eduke32.com/eduke32@5763 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-03 04:50:52 +00:00
hendricks266
5a6aa914a4 Makefile: Clean up handling of architectures.
git-svn-id: https://svn.eduke32.com/eduke32@5762 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-03 04:50:47 +00:00
hendricks266
9a50071b1d Clean up self-modifying assembly unprotection and add PROT_EXEC to mprotect() calls.
This fixes NOASM=0 under OS X.

git-svn-id: https://svn.eduke32.com/eduke32@5760 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-29 21:11:24 +00:00
hendricks266
1208af001c Makefile: Add L_CXXONLYFLAGS, and use it to pass "-static-libstdc++" on Windows.
git-svn-id: https://svn.eduke32.com/eduke32@5752 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:12 +00:00
hendricks266
d8c23261a6 Makefile: Remove STATICSTDCPP variable.
git-svn-id: https://svn.eduke32.com/eduke32@5751 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:09 +00:00
hendricks266
26e15e7098 Makefile: Rename "CPPONLYFLAGS" variable to "CXXONLYFLAGS", since "CPPFLAGS" traditionaly refers to the C preprocessor, not C++.
git-svn-id: https://svn.eduke32.com/eduke32@5750 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:06 +00:00
hendricks266
ad3ff7678f Makefile: Shorten host platform detection code and improve it on Windows to try using $(OS) before invoking uname, and to catch "MSYS" in addition to "MINGW" in uname's output.
git-svn-id: https://svn.eduke32.com/eduke32@5743 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:46 +00:00
terminx
04b975f3d4 Remove -fno-lto-odr-type-merging, turns out it's an obscure option that isn't enabled in the synthesis toolchain. Oh well.
git-svn-id: https://svn.eduke32.com/eduke32@5622 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-13 21:06:15 +00:00
terminx
7b47a21cf2 Limit -fno-lto-odr-type-merging to GCC 5.x
git-svn-id: https://svn.eduke32.com/eduke32@5617 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-07 03:15:46 +00:00
terminx
463f5b5faa Add -fno-lto-odr-type-merging to LTO builds to disable a feature that generates a warning in newer versions of GCC
git-svn-id: https://svn.eduke32.com/eduke32@5610 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-07 02:37:54 +00:00
terminx
33f6826573 Renamed "veryclean" make recipe to "clean" and added veryclean back as an alias for compatibility. This also adds a suggestion to run "make clean" when linking fails. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5598 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-02 00:20:59 +00:00
hendricks266
c695e8e911 Makefile: Improve how we enable and disable warnings. This fixes incompatibilities between r5543 and certain platforms.
git-svn-id: https://svn.eduke32.com/eduke32@5555 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-12 10:31:07 +00:00
terminx
db8b4a00b6 Enable -Wwrite-strings and fix all instances where string constants were passed to functions accepting a char ptr.
git-svn-id: https://svn.eduke32.com/eduke32@5547 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:06:10 +00:00
terminx
e0d8a753a1 Add -Wuninitialized, -Wlogical-op, and -Wcast-qual. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5543 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:05:50 +00:00
hendricks266
3a8d53573c Remove actors_inline, game_inline, and sector_inline objects, and move their code into other headers, set up to be compiled into well-fitting objects if inlining them is disabled.
git-svn-id: https://svn.eduke32.com/eduke32@5529 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:35 +00:00
hendricks266
d7f82d9898 Always compile with "-Wno-missing-braces", as the warnings it hides are useless. "-Wmissing-field-initializers" (part of "-Wextra") should cover us.
git-svn-id: https://svn.eduke32.com/eduke32@5382 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:51 +00:00
hendricks266
ac6cd00f7c Makefile: Automatically disable ASM when "arm" is found in uname -m on Linux.
git-svn-id: https://svn.eduke32.com/eduke32@5372 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:53:08 +00:00
hendricks266
3ef5586af7 Build tools/Windows: Fix text outout by compiling without -mwindows.
git-svn-id: https://svn.eduke32.com/eduke32@5360 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:18:06 +00:00
terminx
4fe25690e7 Makefile tweaks: remove BUILD_FINISHED because it frequently appeared in the wrong place when using make -j, and remove "executable" wording from linking phase. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5279 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:34 +00:00
hendricks266
67cc5911fa Ensure that Objective-C compiler invocations include the C-only options that we specify, especially -std=gnu99. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5168 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-26 00:58:08 +00:00
helixhorned
52e2ff4be1 Makefile.common: for Clang, add -Wno-missing-braces.
Because we get spammed otherwise, regarding initializations of 'vec3f_t'
and 'vec3d_t' variables.
Update: actually, it also happens for GCC builds for me.

git-svn-id: https://svn.eduke32.com/eduke32@5133 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-11 13:53:08 +00:00
hendricks266
17906349b4 BSD: Build system fixes/improvements. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5037 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-02 07:54:24 +00:00
helixhorned
06f0c0c06b Makefile.common: fix "disallow building Lunatic with C++" (r4979). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5028 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 19:31:15 +00:00
helixhorned
1abe65f3ce Makefile.common: disallow building Lunatic with C++ for now. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4979 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-10 17:50:23 +00:00
terminx
8e21ad20c2 MSYS2 build fix. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4924 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-16 06:30:48 +00:00
hendricks266
30407c8e87 Wii: Output and package the binary as .dol instead of .elf.
git-svn-id: https://svn.eduke32.com/eduke32@4824 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-18 18:15:05 +00:00
helixhorned
01fa7eeabc Makefile.common: in non-release builds, explicitly pass -fno-omit-frame-pointer.
So that stack traces can be gotten with optimized DEBUGANYWAY builds, e.g. for
Linux's 'perf' --> flame graphs. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4817 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-15 19:50:52 +00:00
hendricks266
c956f350b7 Fix building with make -B. (make veryclean is now obsolete.) DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4807 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-09 23:56:31 +00:00
hendricks266
9d5a17c93e Eliminate -Wno-narrowing. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4771 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-28 23:57:21 +00:00
hendricks266
4e664fe878 Some minor fixes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4768 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-28 08:14:00 +00:00