diff --git a/Makefile b/Makefile index ca2faf9091c1cced6a6d53a9ff3dbfac12c918f8..945cb8a8a3b13091b6dd88442504ce8cf92b6489 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -DIRS = cpu core drivers sys +DIRS = $(RIOTCPU) core drivers sys all: mkdir -p $(BINDIR) diff --git a/Makefile.base b/Makefile.base index a2274f864ba56ac5817eaa07bbece3a2feb9446f..8419c511af1c607d56a43113d38198fb9fe9634d 100644 --- a/Makefile.base +++ b/Makefile.base @@ -4,43 +4,8 @@ SRC = $(wildcard *.c) OBJ = $(SRC:%.c=$(BINDIR)%.o) DEP = $(SRC:%.c=$(BINDIR)%.d) -ifeq ($(CPU),lpc2387) - INCLUDES += -I$(MAKEBASE)/cpu/arm_common/include/ - INCLUDES += -I$(MAKEBASE)/cpu/lpc2387/include -endif -ifeq ($(CPU),lpc214x) - INCLUDES += -I$(MAKEBASE)/cpu/arm_common/include/ - INCLUDES += -I$(MAKEBASE)/cpu/lpc214x/include -endif -ifeq ($(CPU),msp430x16x) - INCLUDES += -I$(MAKEBASE)/cpu/msp430-common/include/ - INCLUDES += -I$(MAKEBASE)/cpu/msp430x16x/include/ -endif -ifeq ($(CPU),cc430) - INCLUDES += -I$(MAKEBASE)/cpu/msp430-common/include/ - INCLUDES += -I$(MAKEBASE)/cpu/cc430/include/ -endif -ifeq ($(CPU),native) - INCLUDES += -I$(MAKEBASE)/cpu/native/include/ -endif -ifeq ($(BOARD),msba2) - INCLUDES += -I$(RIOTBOARD)/msba2/include/ - INCLUDES += -I$(RIOTBOARD)/msba2-common/include/ - INCLUDES += -I$(RIOTBOARD)/msba2-common/drivers/include/ -endif -ifeq ($(BOARD),msb-430) - INCLUDES += -I$(RIOTBOARD)/msb-430/include/ - INCLUDES += -I$(RIOTBOARD)/msb-430-common/include/ - INCLUDES += -I$(RIOTBOARD)/msb-430-common/drivers/include/ -endif -ifeq ($(BOARD),msb-430h) - INCLUDES += -I$(RIOTBOARD)/msb-430h/include/ - INCLUDES += -I$(RIOTBOARD)/msb-430-common/include/ - INCLUDES += -I$(RIOTBOARD)/msb-430-common/drivers/include/ -endif -ifeq ($(BOARD),native) - INCLUDES += -I$(RIOTBOARD)/native/include/ -endif +include $(RIOTCPU)/Makefile.base +include $(RIOTBOARD)/Makefile.base $(BINDIR)$(MODULE).a: $(OBJ) $(ASMOBJ) $(AR) -rc $(BINDIR)$(MODULE).a $(OBJ) $(ASMOBJ) @@ -55,7 +20,7 @@ $(BINDIR)%.o: %.c @printf "$(BINDIR)"|cat - $(BINDIR)$*.d > /tmp/riot_out && mv /tmp/riot_out $(BINDIR)$*.d $(BINDIR)%.o: %.s - $(AS) $(ASFLAGS) $*.s -o $(BINDIR)$*.o + @$(AS) $(ASFLAGS) $*.s -o $(BINDIR)$*.o # remove compilation products clean:: diff --git a/Makefile.dep b/Makefile.dep index e23725d442fc2e28f36dce508b976b9a6ba855eb..00844b493307a0f88d825f3bd3b6cd4313dde126 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -14,24 +14,10 @@ ifneq (,$(findstring uart0,$(USEMODULE))) endif ifneq (,$(findstring cc110x_ng,$(USEMODULE))) - ifeq (,$(findstring transceiver,$(USEMODULE))) - USEMODULE += transceiver - endif - - ifneq (,$(findstring msba2,$(BOARD))) - USEMODULE += cc110x_spi - ifeq (,$(findstring gpioint,$(USEMODULE))) - USEMODULE += gpioint + ifeq (,$(findstring transceiver,$(USEMODULE))) + USEMODULE += transceiver endif ifeq (,$(findstring hwtimer,$(USEMODULE))) USEMODULE += hwtimer endif - endif - ifneq (,$(findstring msb-430h,$(BOARD))) - USEMODULE += cc110x_spi - ifeq (,$(findstring hwtimer,$(USEMODULE))) - USEMODULE += hwtimer - endif - endif endif - diff --git a/Makefile.include b/Makefile.include index b345a8b017c62c5875282ef3ea2691c2a2cdbade..daee2f2db8b0af83ab0940d819968efccbaf5d3d 100644 --- a/Makefile.include +++ b/Makefile.include @@ -1,3 +1,8 @@ +ifeq ($(strip $(RIOTCPU)),) + export RIOTCPU =$(RIOTBASE)/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) @@ -18,9 +23,9 @@ all: $(PROJBINDIR)/$(PROJECT).a @echo "Building project $(PROJECT) for $(BOARD) w/ MCU $(CPU)." $(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 + @$(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!! diff --git a/Makefile.modules b/Makefile.modules index 94f123c06acd19cea56bff6618e4d68168e053d8..7db789617300dd6f10bb9b0b8a1c61665b57d105 100644 --- a/Makefile.modules +++ b/Makefile.modules @@ -1,6 +1,5 @@ export MAKEBASE =$(RIOTBASE) export BINDIR =$(RIOTBASE)/bin/ -#UNDEF = $(BINDIR)startup.o $(BINDIR)builddate.o UNDEF = $(BINDIR)startup.o ### Minimal setup @@ -16,12 +15,13 @@ endif ifeq ($(CPU),native) export INCLUDES += -I$(RIOTBASE)/cpu/native/include endif -ifeq ($(CPU),cc430) -USEMODULE += cpu core lib sys -else +ifeq ($(CPU),stm32f407vgt6) + USEMODULE += stm32f4xxstdperi + UNDEF += $(BINDIR)syscalls.o +endif + #USEMODULE += cpu_drivers cpu core lib sys USEMODULE += cpu core sys -endif ED = $(USEMODULE:%=-DMODULE_%) EXTDEFINES = $(shell echo $(ED)|tr 'a-z' 'A-Z') BL=$(USEMODULE:%= $(BINDIR)%.a) diff --git a/core/Makefile b/core/Makefile index 08d75b1707649947da896f1dae05f348d9d534ae..4bf9f52402e446e7dc609e62727bd9761b16de25 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1,5 +1,5 @@ MODULE =core -INCLUDES = -Iinclude/ -I../sys/include -I../sys/lib -I../sys/drivers/include -I../cpu/$(CPU)/include/ -I../.. -I../drivers/include/ +INCLUDES = -Iinclude/ -I../sys/include -I../sys/lib -I../sys/drivers/include -I$(RIOTCPU)/$(CPU)/include/ -I../.. -I../drivers/include/ include $(RIOTBASE)/Makefile.base diff --git a/cpu/Makefile.base b/cpu/Makefile.base new file mode 100644 index 0000000000000000000000000000000000000000..4772bde338960dd6274779a66c676096c062c952 --- /dev/null +++ b/cpu/Makefile.base @@ -0,0 +1,20 @@ +ifeq ($(CPU),lpc2387) + INCLUDES += -I$(MAKEBASE)/cpu/arm_common/include/ + INCLUDES += -I$(MAKEBASE)/cpu/lpc2387/include +endif +ifeq ($(CPU),lpc214x) + INCLUDES += -I$(MAKEBASE)/cpu/arm_common/include/ + INCLUDES += -I$(MAKEBASE)/cpu/lpc214x/include +endif +ifeq ($(CPU),msp430x16x) + INCLUDES += -I$(MAKEBASE)/cpu/msp430-common/include/ + INCLUDES += -I$(MAKEBASE)/cpu/msp430x16x/include/ +endif +ifeq ($(CPU),cc430) + INCLUDES += -I$(MAKEBASE)/cpu/msp430-common/include/ + INCLUDES += -I$(MAKEBASE)/cpu/cc430/include/ +endif +ifeq ($(CPU),native) + INCLUDES += -I$(MAKEBASE)/cpu/native/include/ +endif + diff --git a/dist/Makefile b/dist/Makefile index ef29cadbe822df053afb12f1b120dc5eef2c65e3..4677cf1710719f9275a9aff64a2b698e293383e5 100644 --- a/dist/Makefile +++ b/dist/Makefile @@ -5,7 +5,7 @@ #### /this makefile #### ../../RIOT #### ../../boards for board definitions (if you have one or more) -####/.. +#### # name of your project export PROJECT =foobar @@ -15,6 +15,7 @@ export BOARD = msb-430 # this has to be the absolute path of the RIOT-base dir export RIOTBASE =$(CURDIR)/../../RIOT +export RIOTCPU =$(CURDIR)/../../RIOT/cpu export RIOTBOARD =$(CURDIR)/../../boards ## Modules to include. @@ -28,6 +29,6 @@ export RIOTBOARD =$(CURDIR)/../../boards #USEMODULE += cc110x #USEMODULE += fat -export INCLUDES = -I$(RIOTBOARD)/$(BOARD)/include -I$(RIOTBASE)/core/include -I$(RIOTBASE)/cpu/$(CPU)/include -I$(RIOTBASE)/sys/lib -I$(RIOTBASE)/sys/include/ -I$(RIOTBASE)/drivers/include/ +export INCLUDES = -I$(RIOTBOARD)/$(BOARD)/include -I$(RIOTBASE)/core/include -I$(RIOTCPU)/$(CPU)/include -I$(RIOTBASE)/sys/lib -I$(RIOTBASE)/sys/include/ -I$(RIOTBASE)/drivers/include/ include $(RIOTBASE)/Makefile.include diff --git a/sys/Makefile b/sys/Makefile index df535749d4588d8742bbeec288a597c20f2a2799..7f5188b453ab9b326d7cbd7e7a340e5e4afe1003 100644 --- a/sys/Makefile +++ b/sys/Makefile @@ -1,5 +1,4 @@ - -INCLUDES = -Iinclude -I$(RIOTBASE)/drivers/ -I$(RIOTBASE)/drivers/include -Ilib -I../.. -I../cpu/$(CPU)/include -I../cpu/ -Ilib/cmdengine -Inet -I../hal/include -I../core/include -Iconfig +INCLUDES = -Iinclude -I$(RIOTBASE)/drivers/ -I$(RIOTBASE)/drivers/include -Ilib -I$(RIOTCPU)/$(CPU)/include -Inet -I../core/include MODULE =sys ifneq (,$(findstring auto_init,$(USEMODULE))) diff --git a/sys/lib/Makefile b/sys/lib/Makefile index 18996f3c34a3d714ccb6c70529cfaa73092e199c..2a10bf68c4bcaabda93ec8340f6ebba5a69a88a0 100644 --- a/sys/lib/Makefile +++ b/sys/lib/Makefile @@ -1,4 +1,4 @@ -INCLUDES = -I../include -I../drivers/include -I../lib -I../../cpu/$(CPU)/include -I../../cpu/ -I../lib/cmdengine -I../net -I../../hal/include -I../../core/include -I../config +INCLUDES = -I../include -I../drivers/include -I../lib -I$(RIOTCPU)/$(CPU)/include -I../net -I../../core/include MODULE =lib include $(RIOTBASE)/Makefile.base diff --git a/sys/logd/Makefile b/sys/logd/Makefile index af6415cf276ede6b75b28234dad59561dc1985c2..6b81d22e04b4d14916f21cb38a94a9f659be784a 100644 --- a/sys/logd/Makefile +++ b/sys/logd/Makefile @@ -1,7 +1,6 @@ -INCLUDES = -I../include -I../drivers/include -I../lib -I../../cpu/$(CPU)/include -I../../cpu/ -I../lib/cmdengine -I../net -I../../hal/include -I../../core/include -I../config +INCLUDES = -I../include -I../drivers/include -I../lib -I$(RIOTCPU)/$(CPU)/include -I../net -I../../core/include MODULE =logd include $(MAKEBASE)/Makefile.base - diff --git a/sys/syslog/Makefile b/sys/syslog/Makefile index 6d9a30e8f06a2cb5a2e6736f18b019b1e8c277c3..54d7db9bcd8d95726c54120cfdaf5b232cb5f7af 100644 --- a/sys/syslog/Makefile +++ b/sys/syslog/Makefile @@ -1,4 +1,4 @@ -INCLUDES = -I../include -I../drivers/include -I../lib -I../../cpu/$(CPU)/include -I../../cpu/ -I../lib/cmdengine -I../net -I../../hal/include -I../../core/include -I../config +INCLUDES = -I../include -I../drivers/include -I../lib -I$(RIOTCPU)/$(CPU)/include -I../net -I../../core/include MODULE =syslog include $(MAKEBASE)/Makefile.base diff --git a/sys/tracelog/Makefile b/sys/tracelog/Makefile index 350c65eb1dc5818769e6562860795ea5f4b3d0fd..5b10ef31d805d6d3094105ca193196fdf8a6bc00 100644 --- a/sys/tracelog/Makefile +++ b/sys/tracelog/Makefile @@ -1,4 +1,4 @@ -INCLUDES = -I../include -I../drivers/include -I../lib -I../../cpu/$(CPU)/include -I../../cpu/ -I../lib/cmdengine -I../net -I../../hal/include -I../../core/include -I../config +INCLUDES = -I../include -I../drivers/include -I../lib -I$(RIOTCPU)/$(CPU)/include -I../net -I../../core/include MODULE =tracelog include $(MAKEBASE)/Makefile.base diff --git a/sys/transceiver/Makefile b/sys/transceiver/Makefile index cc75d9d7d720e358d66c1de10870b2734ba9fa7e..3d01f44b6d9b2ea5621f404d2bfa6ddd175e74c2 100644 --- a/sys/transceiver/Makefile +++ b/sys/transceiver/Makefile @@ -1,4 +1,4 @@ -INCLUDES = -I../include -I$(RIOTBAE)/drivers/include -I$(RIOTBASE)/drivers/cc110x_ng/include -I../lib -I../../cpu/$(CPU)/include -I../../cpu/ -I../net -I../../hal/include -I../../core/include -I../config +INCLUDES = -I../include -I$(RIOTBAE)/drivers/include -I$(RIOTBASE)/drivers/cc110x_ng/include -I../lib -I$(RIOTCPU)/$(CPU)/include -I../net -I../../core/include MODULE =transceiver include $(MAKEBASE)/Makefile.base diff --git a/sys/uart0/Makefile b/sys/uart0/Makefile index 2f2d2f238c0297534ce3d648d6daa19ac36e7f28..39ca411fbff335d74d20ff0ffc65be2b6b7aaa35 100644 --- a/sys/uart0/Makefile +++ b/sys/uart0/Makefile @@ -1,4 +1,4 @@ -INCLUDES = -I../include -I../drivers/include -I../lib -I../../cpu/$(CPU)/include -I../../cpu/ -I../lib/cmdengine -I../net -I../../hal/include -I../../core/include -I../config +INCLUDES = -I../include -I../drivers/include -I../lib -I$(RIOTCPU)/$(CPU)/include -I../net -I../../core/include MODULE =uart0