Originally posted by Brian Kendig:
The MAME 0.86 source distribution has no Makefile, per se: it has a "mame.mak", which references only object files (no C files), and a "rules.mak", which appears to reference every available C file (including 2100ops.c). So I haven't yet figured out how this is supposed to be able to compile on Windows, much less Mac.
The Windows makefile is made up of makefile & src\*.mak
Although 2100ops.c is mentioned in the makefile:
$(OBJ)/cpu/adsp2100/adsp2100.o: adsp2100.c adsp2100.h 2100ops.c
that is only a dependancy ( i.e. rebuild adsp2100.o if adsp2100.c, adsp2100.h or 2100ops.c change ).
CPUOBJS += $(OBJ)/cpu/adsp2100/adsp2100.o
shows that only adsp2100.o will be built, and as far as the compiler is concerned it just has to compile adsp2100.c to do it ( the fact it #includes other .c files is irrelevant ).
If this is the first time you've ever seen it then you might get a suprise once you've fixed it as there are loads of places in mame where this is done ( going back years ).