1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

137 Commits

Author SHA1 Message Date
René Kijewski
866c713a7e native: -DNATIVE_INCLUDES if using NATIVEINCLUDES
It can be useful to know if the current compilation builds the native
board module, because e.g. then we must not include `sys/types.h`.

This diff adds `-DNATIVE_INCLUDES` to the make variable
`NATIVEINCLUDES`.
2014-09-26 13:59:37 +02:00
Ludwig Ortmann
3d29a9e3d3 native: add support for Linux on ARM 2014-09-04 16:39:33 +02:00
Ludwig Ortmann
502fd23558 Merge pull request #1570 from LudwigOrtmann/native-ssp
native: add stack smashing protection
2014-08-23 17:39:57 +02:00
Ludwig Ortmann
db6d6ae95e native: add stack smashing protection
When `DEVELHELP` is defined, add `-fstack-protector-all`.
2014-08-23 10:56:39 +02:00
Ludwig Ortmann
ba59ecdaae native: fix and improve term-valgrind flags 2014-08-22 20:05:43 +02:00
Martine Lenders
248a8531a5 make: Fix TERMFLAGS
Sometimes boards/*/Makefile.include (e. g. in case of the msba2) gets included
twice somehow, leading the TERMFLAG to be set twice and faulty. This
fixes that.
2014-08-22 01:09:55 +02:00
Pham Huu Dang Nhat
f7398f61ff Changed RIOT/Makefile.include, Makefile.base, Makefile.cflags, and native/Makefile.include to compile C and C++ files. 2014-06-25 22:26:10 +07:00
Thomas Eichinger
1e983c9670 s/PROJECT/APPLICATION/g
fixes #548
2014-05-26 13:21:09 +02:00
Ludwig Ortmann
e4e3ef4daf make/native: remove -gc flag
Yields warning on OSX.
Uncertain why it was there in the first place.

Fixes #1125
2014-05-09 12:23:34 +02:00
René Kijewski
4c66f72ba3 Merge pull request #1022 from LudwigOrtmann/issue_505
native: update support for FreeBSD
2014-04-26 15:51:54 +02:00
Ludwig Ortmann
b089798bf9 native/make: add missing target 2014-04-22 16:53:08 +02:00
Ludwig Ortmann
42aa3d9f5b native: update support for FreeBSD
works with FreeBSD 10.0 amd64/i386

fixes: #505
2014-04-20 07:31:40 +02:00
Ludwig Ortmann
b22f0e6a09 native/make: set all binutils with ?= instead of = 2014-04-20 07:28:21 +02:00
René Kijewski
3f59eefbaf Use subfolders in bin dir
Creating all object files in one directory is bound to produce name
clashes. RIOT developers may take care to use unique file names, but
external packages surely don't.

With this change all the objects of a module (e.g. `shell`) will be
created in `bin/$(BOARD)/$(MODULE)`.

I compared the final linker command before and after the change. The
`.o` files (e.g. `startup.o`, `syscall.o` ...) are included in the same
order. Neglecting the changed path name where the `.o` files reside, the
linker command stays exactly the same.

A major problem could be third party boards, because the location of the
`startup.o` needs to the specified now in
`boards/$(BOARD)/Makefile.include`, e.g.
```Makefile
export UNDEF += $(BINDIR)msp430_common/startup.o
```
2014-04-09 00:28:14 +02:00
René Kijewski
2749531324 Merge pull request #789 from LudwigOrtmann/native_gprof
native profiling tools support
2014-04-05 02:26:15 +02:00
Ludwig Ortmann
8ac4f3332d core cpu: add defaulttransceiver pseudomodule
update examples/default
2014-03-18 10:18:15 +01:00
Ludwig Ortmann
dfd0b43cbe add variables for gprof, cg_annotate 2014-03-14 12:56:44 +01:00
Ludwig Ortmann
a62559de62 make: streamline native targets
The new target names are easier to remember / decipher:

term
term-cachegrind
term-gprof
term-valgrind

all
all-cachegrind
all-gprof
all-valgrind
all-debug

eval-gprof
eval-cachegrind
2014-03-14 12:50:50 +01:00
Ludwig Ortmann
ae898ef9eb rebase_fixup 2014-03-14 12:50:50 +01:00
Ludwig Ortmann
ad1d8df080 change target name, add cachegrind target 2014-03-14 12:50:50 +01:00
Ludwig Ortmann
8ef02d3b9d native profiling support
only works with Linux for now
2014-03-14 12:50:50 +01:00
Ludwig Ortmann
2cd3f04fc6 Don't use INCLUDES for building any native at all.
native modules will never need the dynamic INCLUDES, so we define our
own NATIVEINCLUDES. Due to the current make structure, the only way to
not use INCLUDES is to redefine the build rules.
2014-02-27 10:30:30 +01:00
Oleg Hahm
93e32953b3 always build and initialize hwtimer
Eliminates special treatment of the hwtimer module and makes it a
mandatory part of the kernel.
2014-02-24 18:36:28 +01:00
Oleg Hahm
6c0482b976 Merge pull request #701 from Kijewski/issue-672
Use `filter` instead of `findstring`
2014-02-16 12:33:29 +01:00
René Kijewski
102dc45382 Eliminate findstring in more places 2014-02-14 14:30:16 +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
Ludwig Ortmann
336c5159b2 use pkg-config to add valgrind include path
makes knowledge of VALGRIND_VALGRIND_H vs. VALGRIND_H optional
2014-02-11 19:22:39 +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
0ee91da42f valgrind target 2014-02-01 13:56:21 +01:00
Ludwig Ortmann
94ac6ddbd2 refactor and clean up native Makefile 2014-02-01 13:56:17 +01:00
Ludwig Ortmann
e083e9bcb8 configure debug target for native 2014-01-30 11:34:04 +01:00
Ludwig Ortmann
b6781cdf0f add native flash and term targets
flash does nothing
term starts the project with PORT misused for the tap interface
PORT is unset if nativenet is not used
2014-01-09 12:53:40 +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
02612ff0ca further Makefile cleanup 2014-01-05 16:11:08 +01:00
Ludwig Ortmann
6d16520387 add -Wextra -pedantic to native CFLAGS
it's all about code quality
2013-11-22 10:56:28 +01:00
Ludwig Ortmann
7b9d199ec8 make system calls safer/clean up headers
wrap some libc functions that do system calls (terminal output)
wrap read/write with syscall guard
define real_read/write (next dynamic linker find for read/write)
guard system calls in remaining code
introduce native_internhal.h
throw out some debug statements that break things
clean up includes a bit
declare board_init in native_internhal.h
add -ldl to LINKFLAGS for cpu/syscalls
2013-11-13 00:01:42 +01:00
Oleg Hahm
232e205137 moved boards into subdirectory 2013-11-06 10:11:57 -08:00