Open ZornsLemma opened 6 years ago
Guess how upset I wouldn't be if we dumped this makefile and started from scratch :-)
Hah. :-) I'm having a go at a new version, I'll push a draft version up somewhere for you to take a look at soon-ish, maybe in a couple of hours.
OK, it's only a sketch but you might like to take a look at: https://github.com/ZornsLemma/PLASMA/tree/makefile-exp
The old makefile has been moved aside to makefile.old. There's now a new top-level makefile, a port-specific makefile.{apple,acorn} and a makefile.common.
You can do:
I doubt this will work with anything except GNU make; I don't know if that's a problem.
Hi Dave,
I'm updating my Acorn port to the latest master as a stepping stone to working on the new 2.0 stuff and I've noticed a small problem with the way the makefile is set up.
I found this "naturally" by trying to build my port, but you can see the problem most simply by taking current master HEAD (28571b4a350dc9bb91f5b7240e14cb0be5116f41) and applying this small patch:
What this does is:
The problem is that if you do a C64 build, it fails because it's trying to build the Apple II code (because SIEVE depends on PLVM02):
Obviously this example isn't very realistic and normally the Apple II code would build fine. What specifically triggered this in the case of my port is that I had removed JMPTMP from the Acorn plvmzp.inc and moved it into the Acorn plvm.s file. However, when building the Acorn port, the Apple PLVM02 gets built using the Acorn plvmzp.inc, and a mismatch occurs.
Now I could work around this by just ensuring that I define all the same symbols in the Acorn plvmzp.inc as are in the Apple plvmzp.inc, and that might be a good idea anyway, but I thought I should raise this as an issue anyway. It seems potentially confusing, maybe even dangerous, for building port X to build a broken (since it will use the wrong non-Apple zero page locations) version of the Apple II VM.
I don't have a great solution for this. I can hack around at the makefile and see if I can do anything with it, but I wanted to see how you felt about this before I do - if you don't see this as a problem then I won't worry about it. The obvious fix would be to remove the $(PLVM02) dependency from most of the demo files, but I don't know if that would have any unpleasant side efects.
Cheers.
Steve