Hi, I wrote that example operating system.
You've got to specify a lot of more information if you want help. For instance, what exactly you did to get it working on OS X, whether you are using a cross-compiler, how you are invoking the build script, a copy of the entire shell history for a session that reproduces this issue (and most importantly shows the make output).
The code in question should be
$(ARCHDIR)/crtbegin.o $(ARCHDIR)/crtend.o:
OBJ=`$(CC) $(CFLAGS) $(LDFLAGS) -print-file-name=$(@F)` && cp "$$OBJ" $@
Since $@ will expand to arch/i386/crtbegin.o, the cp command will have to be ”cp crtbegin.o arch/i386/crtbegin.o” to trigger the error you have. That means $(CC) $(CFLAGS) $(LDFLAGS) -print-file-name=crtbegin.o expanded to crtbegin.o. In other words, your compiler failed to locate a crtbegin.o.
I will guess that you are either not using a cross-compiler (and you need to do that), or you forgot to build libgcc as part of your cross-compiler build. You will need to read and follow the instructions at
http://wiki.osdev.org/GCC_Cross-Compiler very carefully.
Note that Meaty Skeleton is not supported for OS X. It's just an example, so I have cut away OS X support as OS X fails at many basic Unix things that would unnecessarily complicate things. It is more BSD friendly as of late, but there's still some ways to go there I think. I need to revise it to keep up more with my current recommendations. I hope it's of use to you.