osd-contiki/board/Makefile.board
Jim Paris 6b4d6a9ade Use a variable for all target objects
Instead of specifying them individually.  This lets included makefiles
(like my audio/Makefile.include) append objects.
2010-09-28 02:54:23 -04:00

47 lines
1.2 KiB
Makefile

# -*- makefile -*-
ALL_BOARDS = redbee-dev redbee-r1 redbee-usb redbee-econotag quahogcon freescale-ncb
OBJDIR = obj_$(BOARD)
CFLAGS += -I. -I$(OBJDIR) -I$(MC1322X)/board -DBOARD=$(BOARD)
# Create directory and board.h include
$(OBJDIR)/board.h:
$(call pretty,GEN,$@)
$(Q)mkdir -p $(OBJDIR)
$(Q)echo '/* This file was automatically generated */' > $(OBJDIR)/board.h
$(Q)echo '#include "$(BOARD).h"' >> $(OBJDIR)/board.h
# $(OBJDIR)/board.a contains all the objects defined in COBJS
ifdef COBJS
$(OBJDIR)/board.a: $(OBJDIR)/board.h $(OBJDIR)/board.a($(addprefix $(OBJDIR)/, $(COBJS)))
else
$(OBJDIR)/board.a: $(OBJDIR)/board.h
$(call pretty,AR (empty),$@)
$Q$(AR) $(ARFLAGS) $@
endif
TARGET_OBJ += $(OBJDIR)/board.a
# And is built from files in the parent directory
$(OBJDIR)/%.o: %.c $(OBJDIR)/board.h $(FORCE_C_DEPENDS)
$(call pretty,CC,$@)
$Q$(CC) $(CFLAGS) $(CFLAGS_THUMB) -MMD -c -o $@ $<
@$(FINALIZE_DEPENDENCY)
$(OBJDIR)/%.o: %.S $(OBJDIR)/board.h
$(call pretty,AS,$@)
$(CC) $(AFLAGS) -MMD -c -o $@ $<
@$(FINALIZE_DEPENDENCY)
$(OBJDIR)/%.dis: $(OBJDIR)/%.o
$(call pretty,OBJDUMP,$@)
$Q$(OBJDUMP) -d $< > $@ || rm -f $@
ifneq ($(MAKECMDGOALS),clean)
-include $(wildcard $(OBJDIR)/*.d)
endif
clean::
rm -rf obj_*