Commit Graph

11110 Commits

Author SHA1 Message Date
James R ec8b63d675 Makefile: remove last of unused flags 2021-05-05 21:21:55 -07:00
James R f9813844e7 Update CMakeLists.txt to use Sourcefiles
This establishes (near) parity of source code file lists
between the Makefile and CMakeLists.txt

To make that change I messed around CMakeLists.txt a bit.
It now uses target_sources and target_compile_definitions.
I also removed some MSVC stuff since we don't actually
care about MSVC--it made things easier.

CMake minimum version 3.0 -> 3.13 for target_sources.
2021-05-05 04:00:44 -07:00
James R 3d7205d494 Fix minor errors with Windows ECHO, DEL, MD
- Quotes were not removed by ECHO.
- DEL would print an error on nonexistent file.
- MD would do this plus return a nonzero exit code.
2021-05-04 22:34:20 -07:00
James R 8840bef2cb Appveyor: update to correct executable directory this time 2021-05-04 17:05:54 -07:00
James R 888073d64d Fix make clean printing header 2021-05-04 16:54:47 -07:00
James R 53d1cbe826 Appveyor: update executable directory 2021-05-04 16:50:50 -07:00
James R b31056c7d9 Rewrite Makefile to be modular as well as more automated
Some key points for programmers:
- Source code files are mostly listed in a 'Sourcefile'.
  So you no longer directly edit the object list. There
  can be multiple Sourcefiles and they can even live in
  subdirectories--the directory name will be prepended to
  every filename in the list. Of course, the Makefile
  still needs to be edited to read from each Sourcefile.
- Different rules are no longer required for source code
  files that live in subdirectories (such as sdl/ or
  hardware/). Subdirectories Just Work so go ham!

In addition to those points, another important change is
that the bin directory is no longer divided into platform
subdirectories (Linux64, Mingw, etc). Executables now go
directly into bin. If you use DEBUGMODE or target 64-bit,
then subdirectories for 'debug' and '64' will be made
though.

Oh by the way, I don't think make clean actually removed
files before on Windows. It should now. I also fixed as
many little inconsistencies like that as I noticed.

And now just an overview of the technical aspects that
shouldn't affect anyone who doesn't REALLY care about the
Makefile...

objs and dep directories have been moved to a make
directory. Makefile.cfg and its variants have been moved
out of their various subdirectories to src/Makefile.d
make distclean removes the bin and make directories
entirely, but make clean and cleandep still only affect
the current build target.

When I say automation, I mean that a lot of copy pasting
in the Makefile has been reduced.
2021-05-04 04:22:37 -07:00
James R f637e28d0c Remove bin, objs and dep directories 2021-05-04 04:14:00 -07:00
James R 44d217807f Collect makefiles 2021-05-03 23:07:44 -07:00
James R e39bf7503f Makefile: fix object file not depending on headers
BRUH MOMENT
2021-04-06 03:55:57 -07:00
James R 5f4e21ed3a Fix dependency file trying to be made for SRB2.res and not for interface/blua/hardware files 2021-02-28 17:02:08 -08:00
James R 6d539626c4 I forgot to add the dep directory 2021-02-28 16:14:54 -08:00
sphere a679212c5e Merge branch 'udb-config-bruh' into 'master'
Nice UDB config there, SRB2.

See merge request STJr/SRB2!1354
2021-02-28 11:57:30 -05:00
James R 89e411c6ae Merge branch 'dependency-files' into 'master'
Dependency files

See merge request STJr/SRB2!1407
2021-02-27 05:38:13 -05:00
Jaime Ita Passos 2ca8efd7ee Revert accidental push 2021-02-25 20:17:27 -03:00
Jaime Ita Passos 70ebca2bf6 Update README 2021-02-25 19:49:37 -03:00
Jaime Ita Passos 5b1dc6ba33 [Meta] Change branding 2021-02-25 19:49:34 -03:00
James R 747c278bc2 Makefile: add a SILENT flag
This makes it print nothing to stdout.

Also fixed some irregularities.
2021-02-18 07:24:20 -08:00
James R 3d32f3145c Generate individual dependency files
This removes Makefile.depends. Instead, '.d' files are included from the 'dep'
directory. This speeds up building because dependencies for every file don't
need to be regenerated if only one changes.

As a bonus, dependencies also won't be generated if only clean type targets
are going to be run. Also added a 'distclean' target, which cleans both
objects and dependency files.
2021-02-18 06:23:18 -08:00
James R 3003c252d1 Makfile: don't print some messages twice 2021-02-18 06:23:12 -08:00
GoldenTails 0d1973075d Nice UDB config there, SRB2. 2020-12-24 03:22:08 -06:00
James R b31c4db89d Remove trailing whitespace 2020-12-12 02:37:03 -08:00
James R e4cf8ebcf5 Merge branch 'what-is-a-standard' 2020-12-10 11:23:53 -08:00
Nev3r 42ced125a1 Merge branch 'no-dd-make' into 'master'
Remove Direct Draw from Makefile

See merge request STJr/SRB2!1263
2020-11-29 05:29:21 -05:00
James R f39300ac74 Merge branch 'master' into no-dd-make 2020-11-22 15:29:37 -08:00
James R b059ed40c6 Merge remote-tracking branch 'origin/what-is-a-standard-2' 2020-11-22 15:19:39 -08:00
James R b2a84a9376 Merge remote-tracking branch 'origin/master' into no-dd-make 2020-11-22 14:14:43 -08:00
James R e17b4d0299 Merge branch 'echo-filenames' into 'master'
Echo filenames when compiling without ECHO=1

See merge request STJr/SRB2!1260
2020-11-22 17:11:03 -05:00
GoldenTails e3c6d1cef3 Add NOECHOFILENAMES, if people don't want logspam. 2020-11-21 22:21:18 -06:00
James R 79bbb3fe46 Remove Direct Draw from the Makefiles
MINGW/MINGW64 implies SDL.
2020-11-21 15:19:54 -08:00
GoldenTails 8cfa21fb20 Echo filenames when compiling without ECHO=1 2020-11-19 15:17:56 -06:00
Nev3r 1a8ec39f6c Remove direct definition for D__USE_MINGW_ANSI_STDIO, as the latest standards consider this to be deprecated. 2020-11-13 11:33:27 +01:00
James R 56d2290778 Merge branch 'cmake-fullscreen-fix' into 'master'
Cmake: fullscreen fix

See merge request STJr/SRB2!1226
2020-11-01 22:57:27 -05:00
James R f2e15fc4f1 Merge branch 'cmake-curl-internal-fix' into 'master'
Fix compiling using cmake if internal libs is used

See merge request STJr/SRB2!1225
2020-11-01 22:57:12 -05:00
James R d7335469eb Merge branch 'master-use-sse3' into 'master'
Use SSE3 in 32-bit x86 binaries

See merge request STJr/SRB2!1213
2020-11-01 22:47:36 -05:00
Hannu Hanhi 54cc9db7a5 Fix CMake SSE3 flag 2020-10-31 18:04:44 +02:00
Steel Titanium 62b5b86ed4 CMake: Fix fullscreen toggle not working
All because of a typo
2020-10-31 00:59:51 -04:00
Steel Titanium d406340b5d Fix compiling using cmake if internal libs is used 2020-10-30 23:37:34 -04:00
Hannu Hanhi 244c76250f Use SSE3 in 32-bit x86 binaries 2020-10-25 00:08:24 +03:00
James R 333d3a2576 Merge branch 'cmake-multithreading' into 'master'
Add multithreading option for CMake

See merge request STJr/SRB2!1204
2020-10-23 16:42:32 -04:00
GoldenTails 1e0beab254 Add i_threads.h too 2020-10-20 15:58:34 -05:00
GoldenTails 31c410656c Add multithreading option for CMake 2020-10-20 15:44:01 -05:00
James R 7952408c8e Merge branch 'fix-gzip-makefile-failure' into 'master'
Fix gzip failing to compress SRB2's objdump on non-Windows.

See merge request STJr/SRB2!1191
2020-10-14 03:11:26 -04:00
GoldenTails 94f6d0b002 Fix gzip failing to compress SRB2's objdump on non-Windows. 2020-10-12 16:59:47 -05:00
James R 17ce7d57c3 Merge branch 'update-228' into 'next'
2.2.8 prep

See merge request STJr/SRB2!1170
2020-10-03 01:45:06 -04:00
James R fdc1de357b Update appveyor.yml version 2020-10-02 18:05:12 -07:00
James R b1d59c6641 Merge branch 'picfmt-pngfix' into 'next'
Fix uninitialized variable issue in patches with missing grAb chunks

See merge request STJr/SRB2!1171
2020-10-02 20:24:10 -04:00
James R 27d96bb21c Merge branch 'fartification' into 'next'
Prevent Canarivore gas from teleporting up walls

See merge request STJr/SRB2!1154
2020-10-02 20:23:36 -04:00
James R 8beee3761e Merge branch 'windows-console-go-brrr' into 'next'
Fix #178

Closes #178

See merge request STJr/SRB2!1112
2020-10-02 20:23:20 -04:00
James R c35c5ad568 Merge branch 'remove-renderer-notice' into 'next'
Remove "The OpenGL renderer is incomplete" notice (closes #281)

Closes #281

See merge request STJr/SRB2!1169
2020-10-02 20:22:38 -04:00