Advertisement
Guest User

Untitled

a guest
May 26th, 2013
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.84 KB | None | 0 0
  1. ifeq ($(strip $(RIOTCPU)),)
  2.     export RIOTCPU =$(RIOTBASE)/cpu
  3. endif
  4.    
  5. ifeq ($(strip $(MCU)),)
  6.     MCU = $(CPU)
  7. endif
  8.  
  9. # if you want to publish the board into the sources as an uppercase #define
  10. BB = $(shell echo $(BOARD)|tr 'a-z' 'A-Z')
  11. CFLAGS += -DBOARD=$(BB)
  12. export CFLAGS
  13.  
  14. # mandatory include!
  15. include $(RIOTBOARD)/$(BOARD)/Makefile.include
  16. include $(RIOTBASE)/Makefile.modules
  17.  
  18. # your binaries to link
  19. BASELIBS += $(RIOTBOARD)/$(BOARD)/bin/$(BOARD)_base.a
  20. BASELIBS += $(PROJBINDIR)/${PROJECT}.a
  21.  
  22. PROJBINDIR =$(CURDIR)/bin
  23.  
  24. ## make script for your project. Build RIOT-base here!
  25. all: $(PROJBINDIR)/$(PROJECT).a
  26.     @echo "Building project $(PROJECT) for $(BOARD) w/ MCU $(MCU)."
  27.     $(MAKE) -C $(RIOTBOARD)
  28.     $(MAKE) -C $(RIOTBASE)
  29.     @$(LINK) $(UNDEF) -o $(PROJBINDIR)/$(PROJECT).elf -Wl,--start-group $(BASELIBS) -lm -Wl,--end-group  -Wl,-Map=$(PROJBINDIR)/$(PROJECT).map $(LINKFLAGS)
  30.     @$(SIZE) $(PROJBINDIR)/$(PROJECT).elf
  31.     @$(OBJCOPY) -O ihex $(PROJBINDIR)/$(PROJECT).elf $(PROJBINDIR)/$(PROJECT).hex
  32.  
  33. ## your make rules
  34. ## Only basic example - modify it for larger projects!!
  35. #$(PROJBINDIR)/$(PROJECT).a: $(PROJBINDIR)/$(PROJECT).o
  36. #   $(AR) -rc $(PROJBINDIR)/project.a $(PROJBINDIR)/$(PROJECT).o
  37.  
  38. # string array of all names of c files in dir
  39. SRC = $(wildcard *.cpp)
  40.  
  41. # string array of all names replaced .cpp with .o
  42. OBJ = $(SRC:%.cpp=${PROJBINDIR}/%.o)
  43.  
  44. ${PROJBINDIR}/$(PROJECT).a:  $(OBJ)
  45.     $(AR) -rc bin/$(PROJECT).a $(OBJ)
  46.  
  47. # pull in dependency info for *existing* .o files
  48. -include $(OBJ:.o=.d)
  49.  
  50. ${PROJBINDIR}/%.o: %.cpp
  51.     @echo; echo "Compiling.... $*.cpp"; echo
  52.     $(CC) $(CXXFLAGS) $(BOARDINCLUDE) $(INCLUDES) -c $*.cpp -o bin/$*.o
  53.  
  54. clean:
  55.     $(MAKE) -C $(RIOTBOARD) clean
  56.     $(MAKE) -C $(RIOTBASE) clean
  57.     rm -f $(PROJBINDIR)/*
  58.  
  59. flash: all
  60.     $(FLASHER) $(FFLAGS)
  61.  
  62. term:
  63.     $(TERM) $(PORT)
  64.  
  65. doc:
  66.     make -BC $(RIOTBASE) doc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement