From c05c8a248c09772d4fa25de6ef27fc555c07e21c Mon Sep 17 00:00:00 2001
From: Oliver Hahm <oleg@hobbykeller.org>
Date: Sun, 10 Mar 2013 16:51:40 +0100
Subject: [PATCH] * added a Makefile.include for generic includes

---
 Makefile.include | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 Makefile.include

diff --git a/Makefile.include b/Makefile.include
new file mode 100644
index 0000000000..a5c850024b
--- /dev/null
+++ b/Makefile.include
@@ -0,0 +1,45 @@
+# 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 $(RIOTBASE)/Makefile.modules 
+include $(RIOTBOARD)/$(BOARD)/Makefile.include
+
+# 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 $(CPU)."
+	$(MAKE) -C $(RIOTBOARD)
+	$(MAKE) -C $(RIOTBASE)
+	$(LINK) $(LINKFLAGS) $(UNDEF) -o $(PROJBINDIR)/$(PROJECT).elf -Wl,--start-group $(BASELIBS) -lm -Wl,--end-group  -Wl,-Map=$(PROJBINDIR)/$(PROJECT).map
+	$(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 
+	
+$(PROJBINDIR)/$(PROJECT).o: main.c 
+	$(CC) $(CFLAGS) $(BOARDINCLUDE) $(INCLUDES) -c main.c -o $(PROJBINDIR)/$(PROJECT).o
+
+clean:
+	$(MAKE) -C $(RIOTBOARD) clean
+	$(MAKE) -C $(RIOTBASE) clean
+	rm -f $(PROJBINDIR)/*
+
+flash: all
+	$(FLASH) $(PORT) $(PROJBINDIR)/$(PROJECT).hex
+
+term:
+	$(TERM) $(PORT)
+
+doc:
+	make -BC $(RIOTBASE) doc
-- 
GitLab