46 Commits

Author SHA1 Message Date
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