Commit Graph

70 Commits

Author SHA1 Message Date
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
yenatch c195276073 rename make variables for graphics files 2013-09-11 01:24:20 -04:00
yenatch 6a21963799 scan source files for Makefile dependencies
preprocessing should work with multiple object files now
2013-09-11 01:23:01 -04:00
yenatch 4db0e3c186 rewrite Makefile to handle multiple rgbasm objects
for now, any new files to preprocess will trigger the targets for all objects.
this isn't a problem yet since there's still only one object.
2013-09-10 19:30:31 -04:00
yenatch 3e9e7663ec preprocess everything
it makes more sense this way
2013-09-10 02:05:33 -04:00
yenatch 6e6514c2c9 no need to use python if baserom.gbc doesn't exist
this part is only reached if baserom.gbc doesn't exist,
so it's pointless to check if it does
2013-09-10 00:09:43 -04:00
yenatch 2b38b9ba21 suppress .tx handling in Makefile
there are too many .tx files for the commands to be meaningful

better to just look at the makefile to see what's going on
2013-09-09 23:47:44 -04:00
Sanky 03af68dc41 define PYTHON in Makefile for simpler local changes 2013-09-06 22:25:42 +02:00
yenatch 90e63a8e06 makefile: files in constants/ dont all end in 'constants' anymore
any non-constants asm files shouldn't be in constants/ anyway
2013-09-04 21:57:44 -04:00
Bryan Bishop 9da5768b34 fix baserom.gbc check in Makefile 2013-08-29 11:56:20 -05:00
Bryan Bishop 53d208ce4c fail fast when the baserom.gbc file doesn't exist
One day this will not be required. But until then, waiting one or more
seconds for the build to fail just to learn that you forgot baserom.gbc
is really silly.

This makes failure almost instantaneous compared to before, which would
take between one and ten seconds depending on system performance.

fixes #167
2013-08-28 16:22:50 -05:00
Bryan Bishop 3453879756 Merge branch 'master' into remove-extras 2013-08-27 10:51:30 -05:00
yenatch dbe8f750fe generate a mapfile and symfile on compile
the symfile is convenient and the mapfile is a better source for labels.json
2013-08-16 13:43:04 -04:00
Bryan Bishop 36b7935bed Merge branch 'master' into remove-extras-fix-make-gfx 2013-08-03 21:40:45 -05:00
Bryan Bishop daa0760e26 fix gfx/pics/%/front.lz make target
The parameter order was wrong, causing make to always try to make
front.lz files every run.
2013-08-03 21:29:49 -05:00
Bryan Bishop 268a2d28fd probably fix the pngs target for make
Update the submodule to a version where gfx.py is able to handle the
current paths.

Make some other fixes to Makefile to call gfx.py correctly.
2013-08-03 20:13:37 -05:00
Bryan Bishop a94257c7f8 update Makefile for the new gfx.py path
Why isn't the build breaking?
2013-08-03 18:40:02 -05:00
Bryan Bishop bb8990dc3c Merge pull request #157 from yenatch/overworld
overworld loop and movement
2013-07-12 19:16:49 -07:00
yenatch 425b727784 make: check wram/constants 2013-07-10 19:17:02 -04:00
Bryan Bishop 7da503ac33 use rm -f in Makefile 2013-06-25 23:48:28 -05:00
yenatch 01954388ea make: don't recompile if it's not necessary
the preprocessor queue was preventing files from being recognized as out-of-date

this highlights similar errors with graphics targets, which need to be fixed anyway
2013-06-21 23:23:22 -04:00
yenatch e733c4234c preprocess asm files individually
this fixes a lot of previous hacks

first off, rgbds requires that labels from includes be marked as globals.
instead, 3626ddeb stuffed includes into the parent file in the preprocessor.
this meant one huge file got preprocessed every time, adding an additional
ten seconds to compile time.

running the preprocessor once for each file would create too much overhead,
so a list is fed into prequeue.py, which then makes calls to preprocessor.py.

this paves the way for compiling source files separately some day.

next, compiling previously required `make clean` to be executed first.
f3340de6 touched main.asm to force a fresh compile instead. this behavior
has been reverted. now, `make all` will only attempt to recompile if a
source file has changed.

preprocessor.py has some marginal changes. prequeue.py is created to keep
the original functionality of preprocessor.py intact. so many files are
preprocessed on first compile (1951 as of this commit) that the prequeue
call has been hidden.

compile time is reduced to 15-30 seconds on first compile, and 5-10 seconds
subsequently. the majority of this time is spent in rgbasm.
2013-06-21 16:12:40 -04:00
yenatch f3340de6dc make clean is no longer required to compile 2013-06-18 22:39:13 -04:00