> > > > > Once I also add the "qwak" driver it compiles fine. I think there are other > > cases > > > > of > > > > > dependencies like these. > > > > Its a dependency issue. galaga.c #includes atari_vg.h, but unless atari_vg.c is > > > > actually compiled into mame (which it may not be due to a makefile dependency > > > issue), > > > > you will get an error. Compiling qwak compiles in runaway.c, which correctly > > causes > > > > atari_vg.c to be compiled. > > > > > > > > > > Can someone explain why does this happen and what would be the workaround? Is > > > this > > > > > expected behavior? > > > > You should probably report it on mametesters as a galaga driver bug. > > > > > > > > LN > > > > > > Thanks LN, I added (machine)/atari_vg.o to the galaga.c line and everything > worked > > as > > > expected. Not sure if this is the correct solution thou... if I find some time > > later > > > I will look similar cases (which I already spotted) and report to mametesters. > > > > I don't think this is an error. There are some sets of Dig Dug which use this same > > atari_vg routine. There is a bit of crossover on things like that - but I would > talk > > it out first before reporting to MT, honestly. MAME wouldn't be dependent for > > something if it wasn't needed. > > It is an error, and here's why: > digdug (atari), in galaga.c, depends on EAROM to store highscores/etc > the EAROM handlers are in atari_vg.o > hence galaga.c needs to depend on atari_vg.o > > What probably SHOULD be done is split EAROM handling out of atari_vg.c and put it > into /machine/earom.c or something > > LN
notice that galaga.c includes properly atari_vg.c and the original poster was saying that a reduced makefile (e.g. a tiny build) might miss this dependency. the problem would not be solved by splitting earom from atari_vg since one should still add the earom source in the makefile
the whole issue is not really an error (while it would have been if atari_vg was not compiled in the full makefile, but it is), just one of the main difficulties of creating tiny builds for such a large scale project like MAME/MESS.
|