Commit Graph

192 Commits

Author SHA1 Message Date
yenatch 346a6f8dcb fix make 3.81
the shell newline capture doesnt work in 3.81, so that's gone
2017-12-03 21:58:27 -05:00
yenatch ea8aaeb8e3 fix cryptic 'no rule' error when a prerequisite is missing
at the cost of scan_includes running before the rules are actually evaluated
2017-12-03 20:46:11 -05:00
yenatch 021afb6831 rgbds variables in the makefile
this is for my own convenience but anyone using both rgbds 2 and 3 may find it useful
2017-10-22 02:12:13 -04:00
yenatch 1439887b49 rename pokecrystal.ld -> pokecrystal.link 2017-10-22 02:06:43 -04:00
yenatch aa19af3822 Rebuild on changes to pokecrystal.ld 2017-09-24 03:30:47 -04:00
yenatch 01caa369ec Merge pull request #379 from yenatch/tools
Refactor scan_includes and add warnings for tools
2017-09-24 01:25:03 -04:00
yenatch 17448c51a5 Merge pull request #389 from yenatch/rgbds-3
rgbds 0.3.3
2017-09-24 01:23:34 -04:00
PikalaxALT 63bc19e33d Make repository compatible with RGBDS 0.3.3 (breaks support for earlier versions of RGBDS) 2017-09-24 01:15:05 -04:00
yenatch 59a27d5907 tools/gfx: Replace --width with --png 2017-09-24 01:07:02 -04:00
PikalaxALT 0e470bc785 Fix section linking
Create linker script and float all sections
2017-09-23 23:04:10 -04:00
surskitty 7cd4ca1207 Updating Makefile for the unused GB + N64 image. 2017-09-10 00:30:52 -04:00
yenatch 7ba068d45b Makefile formatting 2017-08-20 12:42:54 -04:00
yenatch 3064e84c5f Use $(filter) to check targets 2017-08-20 12:37:23 -04:00
yenatch 8e87d5abc4 Use $(MAKE) 2017-06-29 18:34:29 -04:00
yenatch 5dfe27125b Merge branch 'master' into tools-makefile-integration 2017-06-24 20:42:25 -04:00
yenatch f03b898250 Add a md5 tool to avoid md5sum dependency.
md5sum is missing in macOS and (presumably) BSD.

An alternative would have been to use sha1sum instead, but it's probably
a good idea to have as few dependencies as possible, so this doesn't
happen again.

fixes #364
2017-06-24 18:42:28 -04:00
yenatch f12e42ab6d Use SHA1 to compare roms 2017-06-24 18:32:54 -04:00
yenatch 9b1550c5e0 Explicit rules for gfx/shrink{1,2}.2bpp 2017-06-24 16:31:42 -04:00
yenatch a20664d415 Fix gfx/misc 2017-06-24 16:30:12 -04:00
yenatch 803c5154f4 pngs in gfx/unknown 2017-06-24 16:27:52 -04:00
yenatch 131bda73bc pngs in gfx/misc 2017-06-24 02:50:42 -04:00
yenatch 41ae3610f6 pngs in gfx/fx
- gave up on wind.png
- add --remove-yflip
2017-06-24 00:47:55 -04:00
yenatch 1f81d1851f pngs in gfx/ 2017-06-23 19:56:24 -04:00
yenatch 89093e4670 pngs in gfx/trainers 2017-06-22 23:46:58 -04:00
yenatch 31d9c1fffa pngs in gfx/trade
game_boy.png can be rearranged in a nicer way, but it's a job for another time
2017-06-22 23:45:45 -04:00
yenatch 647f9b4452 pngs in gfx/title 2017-06-21 23:45:01 -04:00
yenatch f10ed64d1a pngs in gfx/pokedex 2017-06-20 23:42:29 -04:00
yenatch 93a3a7d3c5 Use $(if) in the makefile. Fix gfx/mail.
Fixes 384788f370
2017-06-20 23:36:28 -04:00
yenatch 384788f370 pngs in gfx/mail 2017-06-18 00:13:03 -04:00
Ben10do fc300ab0ee
Fix parallelisation issues in Makefile
Introduces a minor hack, in order to ensure that the tools are built before the Makefile attempts to use any of the tools, even when using ‘make -j’.
2017-06-10 18:21:38 +01:00
Ben10do 202cea9705
- Make the tools implicitly when making the ROM
- Add a clean target to the tools Makefile
- Run said clean target when cleaning the pokecrystal directory
2017-06-09 21:55:09 +01:00
yenatch 6001eeba40 makefile misc qol
- md5sum: no more --quiet. this flag is not standard and seeing "OK" is probably better
- saner use of $(roms)
2017-05-29 23:22:24 -04:00
yenatch 2f2aa10c9c Reorder the build targets for backwards compatibility with gmake 3.81. 2017-05-29 23:21:42 -04:00
yenatch e78034eb8c Use a separate makefile for tools
- Fix crystal11
- Fix a bug where the dependency checks would run regardless of target

Fixes 0bd74cdd73
2017-05-29 19:15:34 -04:00
yenatch d6bf2468a1 Add targets for the pokemon animation edge cases. 2017-05-28 23:23:11 -04:00
yenatch 0bd74cdd73 Fix crystal11 after clean 2017-05-28 15:53:30 -04:00
yenatch 1a549990da Accidentally deleted the pokemon palette rule 2017-05-28 15:53:06 -04:00
yenatch e9c1d24c31 Add Pokemon pic pngs.
Copies of the matching compressed files are kept, so files with a matching hash will use the matching compressed file instead.

This is the best that can be done until the compressor is fixed, which may never happen.
2017-05-28 14:03:13 -04:00
yenatch 22058020f4 Fix intermediate files once and for all.
GNU Make defaults to deleting all intermediate files unless .SECONDARY is defined.
2017-05-28 01:22:17 -04:00
yenatch 517136b0d9 Fix the graphics rules 2017-05-28 01:20:58 -04:00
yenatch caa94f8412 Fix the lzcomp rule. 2017-04-28 00:37:42 -04:00
yenatch f09a233eba Add rules previously covered by gfx.py. 2016-08-24 22:03:12 -04:00
yenatch 2ab468268a Add C build tools. 2016-08-24 21:56:07 -04:00
yenatch 05cffac744 Add a custom scan_includes.py. 2016-04-10 19:19:58 -04:00
dannye 8d1551ec9d Revert 85d30fa079 2016-03-24 11:27:02 -05:00
yenatch 85d30fa079 Fix make deleting files that aren't actually intermediate.
make was deciding that a couple .blk files were actually intermediate.
Still don't know what is causing that issue. This is a temporary fix
that will probably be forgotten about and become a permanent one.
2016-03-21 08:04:00 -04:00
yenatch 1f784700b9 Fix the symfile.
gnu make redefines $* to mean % in spite of posix.
2016-03-16 17:54:20 -04:00
yenatch 3810cefaa2 Suppress deletion of .1bpp files. 2016-03-03 00:06:09 -05:00
yenatch 13f5590abe Trim some whitespace in the makefile. 2016-03-01 23:39:01 -05:00
yenatch 370f84227b Suppress deletion of intermediate .2bpp files. 2016-03-01 23:38:36 -05:00
yenatch 0be6e6c910 Remove useless lines in the makefile.
The previous rules were composed this way but only because target-specific variables weren't used. As they are now, they actually do nothing.
2016-03-01 21:13:38 -05:00
yenatch e11ef2b8d5 Only generate dependencies for a target when it's invoked.
This means dependencies for unrelated targets aren't generated if you aren't building them. This makes "make clean" and building individual targets fast again.
2016-03-01 21:01:34 -05:00
yenatch 782cbc14d6 Only use suffixes needed for intermediate rules.
This is technically a hack, since keeping the .asm suffix was causing nonexistent rules to be evaluated as per the next commit. On the other hand, this is the intended purpose of .SUFFIXES.
2016-03-01 20:58:00 -05:00
yenatch 73a660bf2a Remove "make pngs". 2016-02-17 16:22:05 -05:00
yenatch 36f0bda0b3 Use static pattern rules to fix dependencies for objects in subdirs. 2016-02-10 00:31:32 -05:00
yenatch 08ac6dfd80 *_crystal.asm files are no longer needed to build crystal *.o. 2016-01-29 16:24:38 -05:00
yenatch 1176712cfe Use rgbasm -D instead of extra files for version differences. 2016-01-29 01:10:41 -05:00
IIMarckus 82e2fe78e1 Split common text into a separate object. 2015-12-18 00:59:03 -07:00
PikalaxALT 434c97a146 Makefile cleanup 2015-11-15 15:53:49 -05:00
IIMarckus 25c126c69b Revert bad merge.
"Merge pull request #317 from yenatch/pngs-kind-of"

This reverts commit 25025d1b6c, reversing
changes made to 0d17d4a758.
2015-11-01 16:06:15 -07:00
yenatch b8da3874bb Add an `init` makefile target to prevent data that can't be reasonably reproduced from being rebuilt.
This is only meant to be run once.
2015-09-01 00:20:31 -04:00
yenatch f0af75e8d2 Fix touching in make pngs. 2015-08-29 11:02:56 -07:00
yenatch 9c4fb6a6a4 Add a script to convert project-specific graphics.
This is an alternative to terrible hacks like filename metadata, and might combat submodule bloat.
2015-06-28 23:53:49 -07:00
yenatch 07b9c4b030 Fix the make pngs target. 2015-06-26 10:47:13 -07:00
yenatch 82317a7a23 Preemptively get rid of graphics queues while they're still not used.
Nip this in the bud, so it doesn't turn out like pokered. When the time comes, use make -j16 for faster builds.
2015-04-13 22:34:41 -07:00
yenatch a09903a2a4 make compare 2015-03-11 22:37:36 -07:00
yenatch 967977b7af baserom.gbc is no longer required to build 2015-03-11 22:25:54 -07:00
U-Daniel-PC\Daniel 370ffcfd8d Fix make clean
no more .tx files
remove rgbds generated files, .map and .sym
2015-02-14 10:14:58 -05:00
IIMarckus 828d6b92f0 Add the ability to build Crystal 1.1. 2015-02-14 01:51:34 -07:00
yenatch 8583cc4724 Stop using the preprocessor. 2015-01-20 00:01:23 -08:00
yenatch 1a2784d414 Recombine the event engine objects.
They must be in the same bank to work, and defining sections with static banks should only be used to produce an identical rom.

They were only split in the first place to minimize the amount of code tahat needed to be rebuilt based on a single constant, which in retrospect was meaningless.
2014-12-29 08:08:03 -08:00
IIMarckus c28be21260 Use a path argument for find as required by POSIX. 2014-09-23 22:20:27 -06:00
yenatch f244e4483e Makefile: Use lower-case variables and graphics conversion queues.
This is mostly to make it more like pokered.

Queues are an order of magnitude faster than invoking a new python instance for each file.
2014-06-15 16:20:40 -07:00
yenatch 99fbe3147b Rename directory stats -> data. 2014-05-31 22:57:00 -07:00
yenatch c7938cc7d3 Split the mobile adapter library into another object file. 2014-04-30 03:03:20 -04:00
yenatch 6122490cc3 Simple graphics handling in the makefile.
Two-way conversion invokes circular dependency warnings, and is outside the scope of the build.
Now it's one-way.
2014-03-31 21:20:42 -04:00
yenatch 8e24af1f22 Clean up variable usage in the makefile. 2014-02-01 20:36:44 -05:00
yenatch 7f0f21b1fc Get rid of globals.asm
This breaks the build until labels are exported again!
2014-02-01 13:55:48 -05:00
yenatch 4a40c26f6c Makefile: pokemontools variable 2013-12-21 00:46:31 -05:00
yenatch 6ef1028b31 Makefile: image handling
todo: queue targets
2013-12-21 00:40:29 -05:00
yenatch 34d579d9f9 use pokemontools scan_includes.py
It might look the same as before, but this new name is much better! Well done!
2013-12-20 02:44:44 -05:00
yenatch 62020e32aa rewrite makefile for speed and better dependency handling 2013-12-10 02:02:16 -05:00
yenatch aaf26de8ed Makefile: %.bin and %.pal targets 2013-12-02 23:29:38 -05:00
yenatch cf3fd4e13b Makefile: empty targets for %.asm and baserom.gbc
so make stops wasting time trying to find implicit rules
2013-12-02 16:25:03 -05:00
yenatch cc95304912 Makefile: clean doesnt need object dependencies 2013-12-02 15:31:58 -05:00
yenatch d7bf70f3c9 home.o 2013-11-29 02:30:08 -05:00
yenatch 2ec12a22af gfx/pics.o 2013-11-29 02:11:40 -05:00
yenatch c2889215a8 audio.o and misc/crystal_misc.o 2013-11-29 01:51:27 -05:00
yenatch ac65a8b821 engine/credits_crystal.o 2013-11-28 01:38:49 -05:00
yenatch 41f149c7f1 maps.o and stats/pokedex/entries.o 2013-11-27 14:45:42 -05:00
yenatch bb68a76330 Makefile: more readable object list 2013-11-23 02:54:02 -05:00
yenatch cf6295cb9f objects for event handling and scripting 2013-11-23 02:51:48 -05:00
yenatch 94188ee0f7 version-sensitive objects for egg moves and evos/attacks
this way main.o and wram.o are version-neutral
2013-11-22 00:14:55 -05:00
yenatch 02e8b4c7b6 version-neutral build targets
pokecrystal will probably never build gold/silver, but who knows
2013-11-21 21:15:37 -05:00
yenatch f6706ecb09 finally compile multiple objects
pokecrystal.asm doesnt really make sense now so its gone

add includes.asm so objects have a standard include set
2013-11-20 06:35:10 -05:00
yenatch 549591ab0e convert pngs to 1bpp too 2013-11-18 21:07:07 -05:00
yenatch 7fba45f668 fix a typo in Makefile
we want to link more than one object!
2013-09-11 20:27:16 -04:00
yenatch e2aa3d7ea5 consolidate labels across objects into globals.asm
this is required for objects to share labels
2013-09-11 20:26:09 -04:00
yenatch 74f8d746db abstract make targets are now phony 2013-09-11 01:26:51 -04:00
yenatch 84ba0ffc31 rename lzs make target to gfx 2013-09-11 01:25:39 -04:00