34 Commits

Author SHA1 Message Date
Martin Griffin 4aafe5904a preproc: Correct line numbers in errors involving macros
Seemingly a bug, GNU as reports errors as occurring in the file that
ultimately expanded the chain of macros rather than the files that
defined them.
2026-05-15 15:45:17 +01:00
Martin Griffin e38dfaa92c preproc: Parse cpp linemarkers
The line numbers in preproc's errors involving strings or INCBINs were
incorrect before this change because all the lines from '#include'd
files incremented the line number that would be reported.
2026-05-15 15:45:17 +01:00
Martin Griffin df02d49e9b INCGFX: in-source arguments for gbagfx
'INCGFX' is like 'INCBIN' except that it specifies the arguments to pass
to 'gbagfx' which alleviates the user-unfriendliness caused by catch-all
rules.

Specifically, users frequently forget to add to 'spritesheet_rules.mk'
when adding object event graphics, and then the built '.4bpp' file is
not invalidated when the add their rule so they have to 'touch' the
source file or similar.

The built artifacts are placed in 'build/assets'.
2026-04-19 07:06:17 +01:00
Martin Griffin 84e8d23425 Remove INCBIN_S*
The signed INCBINs are unused, I assume they were once for audio data
but that is handled in assembly now.
2026-04-19 07:06:17 +01:00
FosterProgramming 8b8c593bf6 Fix preproc not correctly reading skipped lines symbols inside enum (#2197) 2025-11-05 09:04:30 +00:00
Catnip-Consumer 2cc013ff3e Apply fixes to preproc for Windows compatibility 2025-04-28 14:36:19 +03:00
Martin Griffin fcc067e515 [preproc] support C23 enum underlying type syntax (#2043) 2024-10-11 13:50:26 -04:00
Kurausukun 52c2728ff6 remove gflib 2024-09-18 10:37:34 -04:00
Martin Griffin 5c55cc3748 [preproc] support arbitrary expressions in enums 2024-08-21 07:50:41 +01:00
Philipp AUER 550e6688aa Support C-Style enum in preproc (#1984)
* [preproc] C-style enums

- asm files parseable from stdin
- 2nd preproc pass
- add parser for C-style `enum`
- positional arguments at end of command

---------

Co-authored-by: sbird <sbird@no.tld>
Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
2024-07-13 18:26:33 +01:00
kittenchilly 333523e5f7 Remove all leading whitespace 2023-10-23 13:24:38 -05:00
GriffinR be84793713 Let scaninc/preproc ignore empty asm files 2023-02-27 12:47:35 -05:00
GriffinR 929aade0fd Fix braille slash 2021-11-02 18:34:05 -04:00
GriffinR 13cd2a41f0 Better braille support 2021-10-30 16:19:10 -04:00
luckytyphlosion 7189e4e26f Fix build on macos.
Needs <cerrno> include in tools/preproc/c_file.cpp
2021-06-03 21:05:56 -04:00
luckytyphlosion 92152e45e2 Fixes to makefile.
Merge C_ASM_DEP and DATA_ASM_DEP, NODEP and SCAN_DEPS can be overridden, add --no-print-directory to MAKEFLAGS in make_tools.mk (also removed some unused variables), add newline to help message in preproc.
2021-06-01 23:22:15 -04:00
luckytyphlosion 10c0566121 Don't keep temporary C build files by default. 2021-01-19 11:43:50 -05:00
luckytyphlosion 3d686116d8 [Round 3] Apply all source related changes for the new INSTALL.md in one commit. 2020-12-16 21:24:44 -05:00
luckytyphlosion 5a5acfb0ad [Round 3] Revert multiple source change commits for re-commit. 2020-12-16 21:24:08 -05:00
luckytyphlosion 166183d5ed [Round 2] Apply all source related changes for the new INSTALL.md in one commit. 2020-12-16 20:31:56 -05:00
luckytyphlosion 345aab63cf [Round 2] Revert multiple source change commits for re-commit. 2020-12-16 20:31:10 -05:00
luckytyphlosion 936ba7f1bf Apply all source related changes for the new INSTALL.md in one commit.
For people who want to have dkPless builds in their repo.
2020-12-16 15:10:01 -05:00
luckytyphlosion cc5db41f30 Revert multiple source change commits for rebase. 2020-12-16 13:29:02 -05:00
luckytyphlosion 976b967732 Add msys2 and Cygwin instructions, also add .exe extension to built tools.
Todo: actually extensively test out msys2 and Cygwin, and double check the readme.
2020-11-26 20:21:16 -05:00
Kurausukun 65fb2e9957 Fix compilation on gcc 10 (for real this time) 2020-05-18 23:42:42 -04:00
Kurausukun 72c8574780 Fix compilation on gcc 10 2020-05-18 01:41:54 -04:00
garak b420b98d63 allow CRLF line endings in asm files for preproc 2019-08-29 16:37:32 -05:00
aaaaaa123456789 e28cf5406b Fix Makefiles to account for the $CC and $CXX environment variables 2019-08-06 20:30:57 -03:00
PikalaxALT 6ff1426abe Quieter "make tools" 2019-07-23 16:17:00 -04:00
Diegoisawesome e0a83e3d72 Update scaninc and preproc with multi-file incbins 2018-09-06 03:45:50 -05:00
Garak 96ab357bed Merge pull request #3 from pret/master
syncing with source repo
2018-08-07 22:21:10 -04:00
einstein95 aeceecea3d Port over https://github.com/pret/pokeruby/commit/9d96147bbf8dabc2a28105d73905808e70b73b0f 2018-07-29 20:11:04 +12:00
garakmon 13ed20c6e3 compiler fixes
The compiler flag -s is not necessary and causes build failure on some
systems (macOS, clang compilers) due to it being deprecated.
Additionally, on those same systems, tools/aif2pcm/main.c failed to
compile due to an overly cautious compiler not liking some struct
declarations.
These changes afaik do not affect other builds.
2018-06-16 18:49:27 -04:00
xenonnsmb e649e3d248 adding tools from pokeruby 2017-12-03 19:55:01 -06:00