Ludwig Ortmann
de4677eb60
make: s/PROJDEPS/APPDEPS/
...
fixes https://github.com/RIOT-OS/RIOT/issues/1284
2014-06-21 18:28:34 +02:00
Oleg Hahm
bd94bd22f6
Merge pull request #1209 from Kijewski/buildinfo
...
make: add comprehensive `buildinfo` list
2014-06-02 14:04:01 +02:00
Thomas Eichinger
1e983c9670
s/PROJECT/APPLICATION/g
...
fixes #548
2014-05-26 13:21:09 +02:00
René Kijewski
054f9fd026
make: fix clean together with TLSF
2014-05-24 19:22:18 +02:00
René Kijewski
4198b7518c
make: add BOARD_INSUFFICIENT_RAM
blacklisting
...
Currently most blacklistings for examples and tests are done because the
board provides too little RAM or ROM. Besides of the actual linking all
the compiling should nevertheless work just fine.
This PR adds the variable `BOARD_INSUFFICIENT_RAM` to tell the
`buildtest` to compile the code for a board, but omit the linking step.
2014-05-23 14:29:38 +02:00
René Kijewski
27ae094413
make: remove clutter
...
Remove some outdated example code.
2014-05-23 14:28:27 +02:00
René Kijewski
9f40d019e3
Merge pull request #1201 from Kijewski/exclusive-make-clean
...
make: make clean usable together with `-j`
2014-05-23 03:48:55 +02:00
René Kijewski
5cb1d03ef4
make: add comprehensive buildinfo
list
...
Sometimes it is difficult to track down build errors for boards that you
are unfamiliar with.
This change adds `make buildinfo` that prints out all the relevant build
information for the selected board and project:
```
PROJECT: default
BOARD: msba2
CPU: lpc2387
MCU: lpc2387
RIOTBASE: /home/kijewski/RIOT/RIOT
RIOTBOARD: /home/kijewski/RIOT/RIOT/boards
RIOTCPU: /home/kijewski/RIOT/RIOT/cpu
DEFAULT_MODULE: auto_init core cpu sys
DISABLE_MODULE:
USEMODULE: arm_common cc110x_ng cc110x_spi config defaulttransceiver gpioint lib lpc_common ltc4150 mci net_help posix protocol_multiplex ps random rtc shell shell_commands sht11 timex transceiver uart0 vtimer
ELFFILE: /home/kijewski/RIOT/RIOT/examples/default/bin/msba2/default.elf
HEXFILE: /home/kijewski/RIOT/RIOT/examples/default/bin/msba2/default.hex
CC: arm-none-eabi-gcc
CFLAGSS:
-DBOARD_MSBA2
-DCPU_LPC2387
-DMODULE_ARM_COMMON
-DMODULE_AUTO_INIT
-DMODULE_CC110X_NG
-DMODULE_CC110X_SPI
-DMODULE_CONFIG
-DMODULE_CORE
-DMODULE_CPU
-DMODULE_DEFAULTTRANSCEIVER
-DMODULE_GPIOINT
-DMODULE_LIB
-DMODULE_LPC_COMMON
-DMODULE_LTC4150
-DMODULE_MCI
-DMODULE_NET_HELP
-DMODULE_POSIX
-DMODULE_PROTOCOL_MULTIPLEX
-DMODULE_PS
-DMODULE_RANDOM
-DMODULE_RTC
-DMODULE_SHELL
-DMODULE_SHELL_COMMANDS
-DMODULE_SHT11
-DMODULE_SYS
-DMODULE_TIMEX
-DMODULE_TRANSCEIVER
-DMODULE_UART0
-DMODULE_VTIMER
-O2
-Wall
-Wstrict-prototypes
-mcpu=arm7tdmi-s
-gdwarf-2
-std=gnu99
-fno-delete-null-pointer-checks
-Wstrict-prototypes
-Werror=strict-prototypes
-Wold-style-definition
-Werror=old-style-definition
LINK: arm-none-eabi-gcc
LINKFLAGS:
-gdwarf-2
-mcpu=arm7tdmi-s
-static
-lgcc
-nostartfiles
-T/home/kijewski/RIOT/RIOT/cpu/lpc2387/linkerscript.x
OBJCOPY: arm-none-eabi-objcopy
OFLAGS: -O ihex
FLASHER: lpc2k_pgm
FFLAGS: /dev/ttyUSB0 /home/kijewski/RIOT/RIOT/examples/default/bin/msba2/default.hex
TERMPROG: /home/kijewski/RIOT/RIOT/dist/tools/pyterm/pyterm.py
PORT: /dev/ttyUSB0
DEBUGGER:
DEBUGGER_FLAGS:
MAKEFILE_LIST:
/home/kijewski/RIOT/RIOT/examples/default/Makefile
/home/kijewski/RIOT/RIOT/Makefile.include
/home/kijewski/RIOT/RIOT/Makefile.modules
/home/kijewski/RIOT/RIOT/Makefile.pseudomodules
/home/kijewski/RIOT/RIOT/Makefile.defaultmodules
/home/kijewski/RIOT/RIOT/boards/msba2/Makefile.include
/home/kijewski/RIOT/RIOT/boards/msba2-common/Makefile.include
/home/kijewski/RIOT/RIOT/boards/msba2-common/Makefile.dep
/home/kijewski/RIOT/RIOT/cpu/lpc2387/Makefile.include
/home/kijewski/RIOT/RIOT/cpu/arm_common/Makefile.include
/home/kijewski/RIOT/RIOT/cpu/lpc_common/Makefile.include
/home/kijewski/RIOT/RIOT/Makefile.dep
/home/kijewski/RIOT/RIOT/Makefile.cflags
/home/kijewski/RIOT/RIOT/sys/Makefile.include
/home/kijewski/RIOT/RIOT/drivers/Makefile.include
/home/kijewski/RIOT/RIOT/Makefile.buildtests
```
2014-05-18 18:59:51 +02:00
René Kijewski
3d6c7008e5
make: make clean usable together with -j
2014-05-16 19:11:55 +02:00
René Kijewski
66a3d7da77
make: fix #1197
...
Partial revert of 85b7eca19e
Fixes #1197 .
2014-05-16 18:18:35 +02:00
René Kijewski
e189064171
make: print error if make was executed in the root
...
Fixes #1104 , alternative to #1178 .
2014-05-15 20:07:32 +02:00
Martine Lenders
47373a9e4a
Merge pull request #1098 from authmillenon/make-addon
...
make: Make make more flexible
2014-05-15 01:19:11 +02:00
René Kijewski
fe8710ce05
make: put buildtest goals into an own file
...
`Makefile.include` is too long as is.
2014-05-14 19:12:09 +02:00
Martin Lenders
8fd09c575c
Make directory creation in object compilation more makey
2014-05-14 18:16:40 +02:00
Martin Lenders
85b7eca19e
Move .elf file to it's own target
2014-05-14 18:16:40 +02:00
Martin Lenders
c710062f86
Introduce macro to define files that should be deleted on make clean
2014-05-14 18:16:39 +02:00
René Kijewski
073bdfe9ec
make: add own file for CFLAGS feature tests
2014-05-12 21:57:09 +02:00
René Kijewski
f02e5b97e2
make: show diffence in buildsizes for two folders
2014-04-23 17:19:19 +02:00
René Kijewski
bb3b3bffa7
make: add maketarget to to show the biggest obj files
2014-04-23 17:18:50 +02:00
René Kijewski
f2e73863cb
make: comprehensive list of the boards' filesizes
2014-04-23 17:18:19 +02:00
René Kijewski
542a2e5d9d
Merge pull request #995 from Kijewski/issue-993
...
Make: exterminate 'clean' buildtarget clutter
2014-04-18 16:11:15 +02:00
René Kijewski
300d6b3e35
Make: exterminate 'clean' buildtarget
...
Closes #993 .
We do not need to descend into the modules to know what to do on
`make clean BOARD=blub`. We can just invoke `rm -rf bin/blub`.
This PR only keeps the descending into the USEPKGs, since they might
want to delete cached/downloaded/extracted data.
2014-04-09 23:07:52 +02:00
René Kijewski
49c3fd666c
Make: fix linebreaks in buildtest
2014-04-09 12:40:58 +02:00
Oleg Hahm
4fd851bccf
Merge pull request #855 from authmillenon/board_macro
...
make: Fix BOARD and CPU macros
2014-04-09 01:24:58 +02:00
René Kijewski
e740fbc800
make: Add DEFAULT_MODULE and DISABLE_MODULE
...
Closes #926
2014-04-01 23:42:00 +02:00
René Kijewski
de29e4184c
Add include paths automatocally for USEMODULES
...
Application developers use `$(USEMODULES)` in their Makefiles to have
the relevant functionally automagically added to their apps. This even
does basic dependency tracking by means of `Makefile.dep`.
But an important thing is missing: the automatic adding of include
paths. This is inconvenient, error prone, and will hinder the RIOT core
developers in future to change folder structures.
2014-03-29 16:27:55 +01:00
Ludwig Ortmann
f1dafdb062
include warnings
...
addresses https://github.com/RIOT-OS/RIOT/pull/883#issuecomment-37833467
2014-03-17 17:39:30 +01:00
Ludwig Ortmann
91cc4a2771
make/buildtest: print errors
...
Display all stderr output but suppress warnings.
implements https://github.com/RIOT-OS/RIOT/issues/835
2014-03-14 09:15:25 +01:00
Ludwig Ortmann
9b61d95545
make: don't ignore failures in for loops
...
Add `|| exit 1` to all constructs like `@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;`, so that compilation stops on the first error.
2014-03-12 11:09:04 +01:00
Martin Lenders
c26f2c9d70
Fix BOARD macro
2014-03-04 15:52:44 +01:00
Martin Lenders
e7c3282886
Replace '-' with '_' in BOARD and CPU_… macros
2014-03-04 14:58:34 +01:00
René Kijewski
f58369ff91
Don't build PKGs twice
2014-02-27 01:29:38 +01:00
Oleg Hahm
c1bcfb3516
Merge pull request #722 from Kijewski/fixup-664
...
First apply board includes, then det. CC caps
2014-02-18 13:45:50 +01:00
Christian Mehlis
cb9c5d00de
repace project by application in documentation
2014-02-18 12:28:32 +01:00
René Kijewski
d7834ecbf8
First apply board includes, then det. CC caps
...
In #664 I added a test that determines if the supplied compiler
understands the `-fno-delete-null-pointer-checks` flag. The problem is
that the `$(CC)` supplied on command line or in the application's
Makefile is used, but not the one the `$(BOARD)`'s Makefile sets.
That problem was overlooked as all the boards use GCC, and GCC happens
to know the flag. But if some future board does not use GCC, then the
wrong order of the checks could pose a problem.
2014-02-17 07:04:36 +01:00
Ludwig Ortmann
d3901529c6
use filter instead of findstring in BOARD_BLACKLIST checking
2014-02-15 07:56:46 +01:00
Martin Lenders
b41e36de3a
Merge pull request #535 from authmillenon/board-blacklists-whitelists
...
Introduce board blacklists and board whitelists
2014-02-14 18:29:15 +01:00
René Kijewski
4b012dfa54
Merge pull request #576 from Kijewski/usepkg
...
Add USEPKG variable for Makefiles
2014-02-14 14:40:24 +01:00
René Kijewski
7f4fb027db
Merge pull request #692 from Kijewski/std-flag
...
Do not mandate input language
2014-02-14 14:39:47 +01:00
Martin Lenders
e6d5af4b8f
Introduce board blacklists and board whitelists
2014-02-14 09:49:17 +01:00
René Kijewski
caea069bcf
Do not mandate input language
...
An application might want to use C11 features. The user would assume
that setting `CFLAGS=-std=gnu11` in the Makefile would work. It does not
since the board's Makefile.include shadows the `-std` flag.
This patch removes the `-std=gnu99` from the various Makefile.includes,
and sets the flag in the common Makefile.include of RIOT instead.
If an `-std` flag was provided by an earlier Makefile (the application,
the board, or the CPU [whilst only the former one should]), then no
additional flag is set. It is first tested if the supplied compiler
understands `-std=gnu99`, then `-std=c99`.
2014-02-14 00:06:02 +01:00
Martin Lenders
378b85bfd0
Always use absolute paths with configurable paths variables
2014-02-12 15:23:15 +01:00
René Kijewski
84cffaa0a0
Use include path convention for PKGs
...
Packages have to define a Makefile.include target in pkg/%/Makefile.
pkg/%/Makefile.include will be loaded after all other dependencies.
2014-02-12 13:59:39 +01:00
René Kijewski
5906f18a81
Add USEPKG variable for Makefiles
...
Currently pkg/USING says one should use
`EXTERNAL+=$(RIOTBASE)/pkg/<pkg_name>` to enable PKG modules.
Using this line the PKG will be compiled but not linked.
This change adds a USEPKG variable to be used like
`USEPKG += <pkg_name>`, which looks less clumsy and gets the PKG linked
in the binary.
2014-02-12 13:57:30 +01:00
Christian Mehlis
07c5ae3ca9
Merge pull request #664 from Kijewski/conditional-fno-delete-null-pointer-checks
...
clang does not know fno-delete-null-pointer-checks
2014-02-12 10:48:27 +01:00
Ludwig Ortmann
2525920426
remove trailing whitespace and newlines
2014-02-11 18:45:06 +01:00
Oleg Hahm
3c169de879
Merge pull request #661 from LudwigOrtmann/Makefile_dep
...
move Makefile.dep include
2014-02-11 17:44:59 +01:00
René Kijewski
012fb5f95d
Fix -fno-delete-null-pointer-checks ( #664 )
...
Only use -fno-delete-null-pointer-checks if the supplied compiler knows
the flag. Clang does not understand the flag, and does not need it.
2014-02-10 21:10:31 +01:00
Ludwig Ortmann
d40b6ac5b1
native+osx makefile cleanup
...
* add missing $(AD) to osx $(LINK) invocation
* move osx build determination to native makefile
* move old libc test to native makefile
* set objcopy to "true" - it is superfluous for native no matter what the system is
* add some documentation to natives makefile
2014-02-10 12:25:47 +01:00
Ludwig Ortmann
73a2c4edf2
move Makefile.dep include
...
boards modify USEMODULE which can lead to additional dependencies.
including Makefile.dep last enables it to resolve all dependencies.
2014-02-07 21:24:42 +01:00
Oleg Hahm
48b5dacde8
Merge pull request #620 from LudwigOrtmann/buildtest_fail
...
upgrade buildtest for CI
2014-02-05 22:47:44 +01:00
René Kijewski
c728041f54
Do not assume 0x0 to be an unusable address
2014-02-05 15:16:33 +01:00
Ludwig Ortmann
9ab441e091
make buildtest fail on error
2014-02-05 09:02:29 +01:00
Ludwig Ortmann
351dea1dbd
decolorize buildtest output for jenkins/monochrome
2014-02-05 09:01:43 +01:00
Ludwig Ortmann
3864d33ede
make buildtest more readable
2014-02-05 09:01:32 +01:00
Oleg Hahm
683a078515
Merge pull request #494 from OlegHahm/uniq_obj_file_names
...
prefixing application object files to avoid dups
2014-01-17 04:44:57 -08:00
Oleg Hahm
74a3158cb2
use subfolder instead of file name prefix
2014-01-14 17:58:29 +01:00
Oleg Hahm
e57d94cf44
prefixing application object files to avoid dups
2014-01-10 17:17:26 +01:00
Ludwig Ortmann
5c0000be5b
unsilence link,size,objcopy
2014-01-10 15:43:17 +01:00
Oleg Hahm
fc359cd9f4
strip BOARD variable
2014-01-08 16:46:16 +01:00
Oleg Hahm
cb7de2432e
moved muting "logic" away from application Makefile
2014-01-05 16:11:08 +01:00
Oleg Hahm
9df07f9238
muting compiler and binutils optionally
...
Instead of muting all compiler and other binutils output by default,
introduce a variable to make this behaviour configurable.
2014-01-05 16:11:08 +01:00
Oleg Hahm
79cff89bb0
create BOARDS subdirectory for binaries
2014-01-05 16:11:08 +01:00
Oleg Hahm
02612ff0ca
further Makefile cleanup
2014-01-05 16:11:08 +01:00
Oleg Hahm
f8e349f76e
removed superfluous slash after BINDIR
2014-01-05 16:11:08 +01:00
Oleg Hahm
26c50522d5
simplified and unified cpu build structure
2014-01-05 16:11:07 +01:00
Oleg Hahm
55f31a4829
simplify include structure for boards
...
* do not overwrite CFLAGS in boards Makefile
2014-01-05 16:11:07 +01:00
Oleg Hahm
1e665b49de
build everything in the project directory
2014-01-05 16:11:07 +01:00
Oleg Hahm
8c4b48a93f
make buildtest output coloured
2013-12-24 17:13:46 +01:00
Oleg Hahm
714178afd2
introduce CPU name macro via CFLAG
2013-12-19 15:24:31 +01:00
Ludwig Ortmann
7f7ce44fd8
dont rely on boards/Makefile.base
2013-11-15 12:14:23 +01:00
Ludwig Ortmann
7351a74f5f
include HOME in env
2013-11-14 11:44:15 +01:00
Ludwig Ortmann
5618795027
allow for differing RIOT* paths
2013-11-14 11:44:15 +01:00
Ludwig Ortmann
50a2dbeaa1
implement buildtest target
...
the target runs make for every board in boards
2013-11-14 11:44:15 +01:00
Oleg Hahm
31a0cb90d1
define RIOTBOARD if unset
2013-11-06 10:39:25 -08:00
Oleg Hahm
438e5ed429
Merge pull request #239 from OlegHahm/objcopy_flags
...
Objcopy flags
2013-10-17 09:03:12 -07:00
Oleg Hahm
3d73e84ad6
get flags for objcopy from platform dependent includes
2013-10-11 15:13:03 +02:00
Oleg Hahm
46deefe0f8
make Makefiles proof for spaces in $PATH
2013-10-09 15:28:53 +02:00
authmillenon
7fea5f15cc
Add capability to Makefiles to use PROJBINDIR
...
Fixes bug in build-system that does not allow you to use other
PROJBINDIR than $(CURDIR)/bin
2013-09-18 15:12:58 +02:00
Ludwig Ortmann
3065c5c118
add PROJDEPS to PROJBINDIR target
...
This enables issues like https://github.com/RIOT-OS/projects/issues/26
to be fixed.
2013-08-31 12:40:16 +02:00
Oleg Hahm
b64fb65935
Merge branch 'agilefox_clean' of https://github.com/AlaeddineWeslati/RIOT into AlaeddineWeslati-agilefox_clean
...
Conflicts:
sys/include/transceiver.h
sys/transceiver/transceiver.c
Additional changes:
* allow for multi-transceiver initialization
* change packet reception to old implementation
2013-08-15 19:07:14 +02:00
Alaeddine WESLATI
11bb09b7f8
started adding at86rf231 driver
...
at86rf231 TX and RX
driver is using vtimer instead of hwtimer_ functions, TO CHECK
vtimer debug function prototype fix
2013-08-12 15:17:22 +02:00
Oleg Hahm
6239ea2a0b
minor changes according to 7a2cc4ae09
2013-08-09 15:57:34 +02:00
authmillenon
4f363ce0fe
Define phony make targets
2013-08-08 15:44:44 +02:00
Martin Lenders
acc83c676a
Fix mkdir from 065566c
2013-07-31 17:16:05 +02:00
Martin Lenders
065566cd04
Create project's bin directory if it does not exist
2013-07-31 15:20:23 +02:00
Oleg Hahm
19e4034ace
Merge branch 'thomas-mc1322x'
...
Conflicts:
Makefile.modules
core/kernel_init.c
core/thread.c
cpu/arm_common/arm_cpu.c
cpu/arm_common/syscalls.c
cpu/lpc_common/hwtimer_cpu.c
cpu/lpc_common/iap.c
sys/include/transceiver.h
sys/net/sixlowpan/sixlowip.c
sys/net/sixlowpan/sixlowmac.c
sys/net/sixlowpan/sixlowmac.h
sys/net/sixlowpan/sixlowpan.c
sys/transceiver/Makefile
sys/transceiver/transceiver.c
2013-07-24 23:22:11 +02:00
Benjamin Valentin
248267834d
allow external modules to be added to a project
2013-07-23 18:50:26 +02:00
Christian Mehlis
57e70a659c
Remove undefined variables from Makefiles
...
The following variables are included in various Makefiles but never
defined.
$(BOARDINCLUDE)
$(PROJECTINCLUDE)
$(CPUINCLUDE)
2013-06-13 21:41:24 +02:00
Ludwig Ortmann
a4528f3d8c
Link with -lrt if glibc < 2.17 for native on linux
2013-06-03 12:08:08 +02:00
Ludwig Ortmann
35f9062e37
inital OSX support for native port
2013-05-15 17:45:43 +02:00
Thomas Eichinger
3dba62afa6
Merge branch 'mc1322x' of github.com:RIOT-OS/RIOT into mc1322x
2013-04-22 09:56:07 +02:00
Oliver Hahm
d56081ddca
* fixed Makefile.include to compile all *.c files
2013-04-22 00:55:11 +02:00
Oliver Hahm
c39fd9d8dc
* minor changes
2013-04-09 23:30:52 +02:00
Oliver Hahm
95158bd38e
* fixed flasher flags in Makefile.include
2013-04-09 11:26:33 +02:00
Oliver Hahm
f13ef5f500
* restructured cpu folder to distinguish between arm and lpc common files
2013-04-01 00:18:07 +02:00
Oliver Hahm
fc3325b113
* set MCU to CPU if undefined
2013-03-31 22:14:06 +02:00
mikoff
4f638eb887
All files, which used by chronos board were edited according to new texas instruments headers, all warnings fixed
2013-03-30 21:44:16 +01:00
Oliver Hahm
e6177e811a
* moved cpu and board specific parts to corresponding Makefiles
...
* introduced variable for cpu folder
2013-03-23 18:38:12 +01:00
Ludwig Ortmann
2883ca121e
migrate to current Makefile structure
2013-03-19 22:32:22 +01:00
Oliver Hahm
7cef6c4655
* adapted thread_stack_init() for ARM and msp430 to the new prototype introduced by bd5b46628f
2013-03-13 16:49:23 +01:00
Oliver Hahm
c05c8a248c
* added a Makefile.include for generic includes
2013-03-10 16:51:40 +01:00