# -*- Makefile -*- ifndef V SILENT=@ endif $(OBJDIR)/%.o: %.c $(SILENT)mkdir -p `dirname $@` @echo "CC $<" $(SILENT)$(CC) $(CFLAGS) -c $< -o $@ $(OBJDIR)/%.o: %.S $(SILENT)mkdir -p `dirname $@` @echo "CC $<" $(SILENT)$(CC) $(CFLAGS) -c $< -o $@ # The echo stuff last in the dep update shell magic is to prevent any compiler # errors/warnings to cause an error code to get returned and thus stop the # build # # This script checks for the presence of $(BUILDDIR)/lang.h and if it doesn't # alreay exist, it is created. This is because lots of files include this # *generated* file and if it doesn't exist when we generate the deps it is no # good. There's a -MG compiler option to cover for this case, but it doesn't # play nicely into this as it then adds a dependency to the lang.h file # without the proper path. # $(DEPFILE): $(SOURCES) $(SILENT)mkdir -p `dirname $(DEPFILE)` $(SILENT)rm -f $(DEPFILE) $(SILENT)(if test ! -f $(BUILDDIR)/lang.h; then \ del="$(BUILDDIR)/lang.h"; \ touch $(BUILDDIR)/lang.h; \ fi; \ for each in $(SOURCES) x; do \ if test "$$each" = "credits.c"; then \ del="$$del$(BUILDDIR)/credits.raw"; \ touch $(BUILDDIR)/credits.raw; \ fi; \ if test "x" != "$$each"; then \ obj=`echo $$each | sed -e 's/\.[cS]/.o/'`; \ $(CC) -MM -MT "$(OBJDIR)/$$obj" $(CFLAGS) $$each >> $(DEPFILE) 2>/dev/null; \ fi; \ if test -n "$$del"; then \ rm $$del; \ del=""; \ fi \ done; \ echo "oo" >/dev/null ) tags: $(SILENT)(for d in $(DIRS); do \ etags -o $(OBJDIR)/TAGS -a $$d/*.[ch]; \ done)