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
hendricks266
4e034e1331
Eliminate the printf_nowarn stuff that has long since been supplanted by TrackerCast. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4763 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-25 21:08:58 +00:00
hendricks266
f22e202d88
Fix some things when building on OS X. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4762 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-24 08:19:50 +00:00
helixhorned
7275152b86
Makefile: do '(very)clean' with a plain "rm -f some/obj/*.o".
...
Notes:
- In the 'clean' target, the "core*" arg to 'rm' was removed as I find it too
unspecific. (Someone could have an unrelated file with that prefix lying
around.)
- The targets 'clean' and 'veryclean' now echo the commands they are about
to execute.
Also, in Makefile.common, resurrect sanitized Clang builds if DEBUGANYWAY=2
is passed (previously, that was triggered with RELEASE=0 DEBUGANYWAY=1).
git-svn-id: https://svn.eduke32.com/eduke32@4756 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 18:37:19 +00:00
terminx
4abc47af9e
Fix _FORTIFY_SOURCE redefinition warning on Ubuntu's patched versions of GCC. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4750 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:33:57 +00:00
terminx
0e606700d6
Get rid of -Wdeclaration-after-statement as we're only targeting C99 and C++ now. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4746 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:29:38 +00:00
terminx
999f789438
Fix a couple of Makefile errors Helixhorned noticed. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4713 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:34:49 +00:00
terminx
0dcca1f305
CPLUSPLUS mode by default in Makefile.common, C99 otherwise. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4704 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:07:21 +00:00
terminx
80b8e08eb7
Remove -DNO_GCC_BUILTINS, set _FORTIFY_SOURCE to 0.
...
git-svn-id: https://svn.eduke32.com/eduke32@4694 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:04:03 +00:00
hendricks266
eb8645b6ea
Update Makefile.common to work with devkitPPC r27. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4684 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 10:17:15 +00:00
hendricks266
8771614f87
Fix the Wii build and clean up remaining warnings. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4647 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-19 00:44:23 +00:00
hendricks266
6ff363a049
OS X: Add a preliminary Xcode project. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4646 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-18 04:50:47 +00:00
hendricks266
295cf82323
Clean up warnings and build issues when building under OS X 10.9. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@4644 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-16 21:03:24 +00:00
hendricks266
9a4a4a627b
Nuke rev.h.
...
Note to MSVC users: You can get the revision number if you run `make rev o=obj` with MinGW before you build.
DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4565 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 08:59:58 +00:00