Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ifeq ($(strip $(RIOTCPU)),)
- export RIOTCPU =$(RIOTBASE)/cpu
- endif
- ifeq ($(strip $(MCU)),)
- MCU = $(CPU)
- endif
- # if you want to publish the board into the sources as an uppercase #define
- BB = $(shell echo $(BOARD)|tr 'a-z' 'A-Z')
- CFLAGS += -DBOARD=$(BB)
- export CFLAGS
- # mandatory include!
- include $(RIOTBOARD)/$(BOARD)/Makefile.include
- include $(RIOTBASE)/Makefile.modules
- # your binaries to link
- BASELIBS += $(RIOTBOARD)/$(BOARD)/bin/$(BOARD)_base.a
- BASELIBS += $(PROJBINDIR)/${PROJECT}.a
- PROJBINDIR =$(CURDIR)/bin
- ## make script for your project. Build RIOT-base here!
- all: $(PROJBINDIR)/$(PROJECT).a
- @echo "Building project $(PROJECT) for $(BOARD) w/ MCU $(MCU)."
- $(MAKE) -C $(RIOTBOARD)
- $(MAKE) -C $(RIOTBASE)
- @$(LINK) $(UNDEF) -o $(PROJBINDIR)/$(PROJECT).elf -Wl,--start-group $(BASELIBS) -lm -Wl,--end-group -Wl,-Map=$(PROJBINDIR)/$(PROJECT).map $(LINKFLAGS)
- @$(SIZE) $(PROJBINDIR)/$(PROJECT).elf
- @$(OBJCOPY) -O ihex $(PROJBINDIR)/$(PROJECT).elf $(PROJBINDIR)/$(PROJECT).hex
- ## your make rules
- ## Only basic example - modify it for larger projects!!
- #$(PROJBINDIR)/$(PROJECT).a: $(PROJBINDIR)/$(PROJECT).o
- # $(AR) -rc $(PROJBINDIR)/project.a $(PROJBINDIR)/$(PROJECT).o
- # string array of all names of c files in dir
- SRC = $(wildcard *.cpp)
- # string array of all names replaced .cpp with .o
- OBJ = $(SRC:%.cpp=${PROJBINDIR}/%.o)
- ${PROJBINDIR}/$(PROJECT).a: $(OBJ)
- $(AR) -rc bin/$(PROJECT).a $(OBJ)
- # pull in dependency info for *existing* .o files
- -include $(OBJ:.o=.d)
- ${PROJBINDIR}/%.o: %.cpp
- @echo; echo "Compiling.... $*.cpp"; echo
- $(CC) $(CXXFLAGS) $(BOARDINCLUDE) $(INCLUDES) -c $*.cpp -o bin/$*.o
- clean:
- $(MAKE) -C $(RIOTBOARD) clean
- $(MAKE) -C $(RIOTBASE) clean
- rm -f $(PROJBINDIR)/*
- flash: all
- $(FLASHER) $(FFLAGS)
- term:
- $(TERM) $(PORT)
- doc:
- make -BC $(RIOTBASE) doc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement