Commit Graph

187 Commits

Author SHA1 Message Date
Adam Dunkels 84d552445e Don't include core/net/mac in the default modules 2014-01-26 23:20:43 +01:00
Fredrik Osterlind cf32063c0b introduced optional Makefile.customrules-$(TARGET), to contain custom platform make rules 2014-01-26 23:20:39 +01:00
Adam Dunkels 7a740b382f Moved the individual MODULE definitions from the top-level Makefile.include into the individual platforms' Makefiles 2014-01-26 23:20:36 +01:00
Adam Dunkels 460da08a37 Filter out multiple definitions of the same module 2014-01-26 23:20:33 +01:00
Adam Dunkels 13f8837422 Made core/lib into a module 2014-01-26 23:20:32 +01:00
Adam Dunkels 837a697dc8 Include the top-level Contiki directory in the include file search path to make it possible for modules to include their header files via their module path 2014-01-26 23:20:31 +01:00
Adam Dunkels 8bb4860138 core/net/rpl is a module, so don't include its file in the top-level Makefile.include 2014-01-26 23:20:30 +01:00
Adam Dunkels 825b038a7b Use the core/sys and core/dev modules by default 2014-01-26 23:20:29 +01:00
Adam Dunkels cfa4c1e953 Include a set of basic modules 2014-01-26 23:20:27 +01:00
Adam Dunkels b78ab6753c Added makefiles to make core/net/mac into a separate module 2014-01-26 23:20:26 +01:00
Adam Dunkels d10a0f8830 Made the rime code into a separate module 2014-01-26 23:20:24 +01:00
Adam Dunkels cf17bb441f First stab at implementing the MODULES mechanism 2014-01-26 23:20:23 +01:00
Nicolas Tsiftes 65392ce59e Merge pull request #474 from adamdunkels/push/cleanup-vnc
Remove the VNC client and server
2013-11-29 05:07:53 -08:00
Adam Dunkels 611c659e51 Removed the VNC/CTK server and the VNC viewer app 2013-11-28 14:10:47 +01:00
Adam Dunkels 0fd503af42 Removed the experimental checkpointing code 2013-11-28 14:09:17 +01:00
Adam Dunkels 563c9d1577 Removed old unused sys/ files 2013-11-19 00:23:13 +01:00
ISMB Pert c4908d9450 Fix rpl-udp build failure on native target, reported on contiki mailing list
http://sourceforge.net/mailarchive/forum.php?thread_name=a2b9cb98ac4a191867afc953113fabaa%40amnesiak.org&forum_name=contiki-developers
2013-11-15 18:30:39 +01:00
Werner Almesberger 6db8788b69 Makefile.include (clean): ignore rm -f failing (e.g., on "core")
rm -f can still fail, e.g., if trying to delete a directory.

If there was, say, a directory called "core", a "make clean" would
therefore only try to delete the files listed in the first command but
not proceed with the rest of the cleanup.

"make clean" itself failing may also affect any outside build process
that invokes it.
2013-11-13 17:15:46 -03:00
Oliver Schmidt e55ffdbceb Be consistent with tab chars in Makefiles - yet again... 2013-07-30 23:07:55 +02:00
Werner Almesberger 9ee30efefb Makefile.include: revised verbosity control
This should be more friendly to legacy operating systems that
don't support multiple shell commands per line. Note that
architecture-specific overrides need to be adapted, if verbosity
control is desired for them as well.
2013-07-30 10:08:07 -03:00
Adam Dunkels 2e0b8e7616 Revert "Merge pull request #305 from frtos-wpan/pull-verbosity"
This reverts commit 231e772118, reversing
changes made to e13d69cf41.
2013-07-29 18:54:05 +02:00
Werner Almesberger a3facaa693 Makefile.include: add verbosity control (make V=1 for previous behaviour)
This shortens $(CC) and $(AR) lines to a much more readable length,
making warnings stick out clearly.

The spaces after "CC" and "AR" are to reserve space for other operations
that may use longer names, such as the communly found "BUILD" or
"GENERATE".
2013-07-28 18:54:41 -03:00
Gianfranco Costamagna ed3ea39caf Added realclean and mostlyclean targets to Makefile.include 2013-07-26 22:21:43 +02:00
Peter A. Bigot 5fc0575e99 Makefile.include: support make clean all
Historically $(OBJECTDIR) was created when Makefile.include is read.  A
consequence is that combining "clean" with "all" (or any other build
target) results in an error because the clean removes the object
directory that is required to exist when building dependencies.
Creating $(OBJECTDIR) on-demand ensures it is present when needed.

Removed creation of $(OBJECTDIR) on initial read, and added an order-only
dependency forcing its creation all Makefile* rules where the target is
explicitly or implicitly in $(OBJECTDIR).
2013-06-20 17:45:41 -05:00
Peter A. Bigot e6431d8fff Makefile.include: support extending CLEAN with directories
Use recursive remove for $(CLEAN) to support applications that extended it
with directories that should be removed.
2013-06-20 12:20:50 -05:00
Adam Dunkels 03ce7c65cf Allow platform makefiles to specify APPS to be used, by defining a PLATFORMAPPS variable. 2013-05-25 12:10:28 +02:00
George Oikonomou ffeceb9164 Add a Trickle Timer Library (RFC 6206) 2013-05-19 21:51:07 +01:00
Robert Quattlebaum 28a1e40ebd core/lib/settings: Generalized Settings Manager to work on any platform
This commit moves the Settings Manager from the AVR codebase
into the Contiki core library. Any platform that implements
the Contiki EEPROM API can now use the Settings Manager's
key-value store for storing their persistent configuration info.

The Settings Manager is a EEPROM-based key-value store. Keys
are 16-bit integers and values may be up to 16,383 bytes long.
It is intended to be used to store configuration-related information,
like network settings, radio channels, etc.

 * Robust data format which requires no initialization.
 * Supports multiple values with the same key.
 * Data can be appended without erasing EEPROM.
 * Max size of settings data can be easily increased in the future,
   as long as it doesn't overlap with application data.

The format was inspired by the [OLPC manufacturing data format][].

Since the beginning of EEPROM often contains application-specific
information, the best place to store settings is at the end of EEPROM
(the "top"). Because we are starting at the end of EEPROM, it makes
sense to grow the list of key-value pairs downward, toward the start of
EEPROM.

Each key-value pair is stored in memory in the following format:

Order    | Size     | Name         | Description
--------:|---------:|--------------|-------------------------------
       0 |        2 | `key`        | 16-bit key
      -2 |        1 | `size_check` | One's-complement of next byte
      -3 |   1 or 2 | `size`       | The size of `value`, in bytes
-4 or -5 | variable | `value`      | Value associated with `key`

The end of the key-value pairs is denoted by the first invalid entry.
An invalid entry has any of the following attributes:

 * The `size_check` byte doesn't match the one's compliment of the
   `size` byte (or `size_low` byte).
 * The key has a value of 0x0000.

[OLPC manufacturing data format]: http://wiki.laptop.org/go/Manufacturing_data
2013-03-20 11:57:13 -07:00
Adam Dunkels db1e8cdbac Separated the uIP makefile from the top-level Makefile.include into a separate core/net/Makefile.uip makefile 2013-03-18 09:45:29 +01:00
Oliver Schmidt a2ac920887 Restored build in cmd.exe environmet by re-applying change f3cf57e41b which was reverted recently. 2013-03-16 08:48:36 +01:00
Adam Dunkels 0841bce833 Merge pull request #82 from darconeous/master
Makefiles: Allow setting UIP_CONF_IPV6=0 to work as expected.
2013-03-10 12:51:03 -07:00
Oliver Schmidt c385dd1393 Be consistent with tab chars in Makefiles. 2013-02-11 00:28:31 +01:00
Robert Quattlebaum 5afcbf6fff Makefiles: Allow setting UIP_CONF_IPV6=0 to work as expected.
Setting UIP_CONF_IPV6 to zero from the make build command line is
something that seems like it should ensure that IPv6 is disabled, but in
fact it actually *enables* IPv6. This seems counter intuitive, so this
patch changes the behavior of the makefiles to handle this case
properly.
2013-01-14 22:03:42 -08:00
Adam Dunkels 4218a733c9 Add the uipv6 route function uip-ds6-route.c 2012-11-27 23:04:34 +01:00
Ilya Dmitrichenko 6690c5f13e Fix hardcoded reference to nm(1) 2012-11-21 18:09:05 +00:00
Niclas Finne 73cb02fb49 removed debug output (caused compiler warning dialog to open in COOJA) 2012-05-23 15:51:23 +02:00
simonduq 10b4105200 added %.ramprof and %.flashprof targets for easy memory profiling of linked binary (e.g. make hello-world.ramprof) 2012-03-26 22:58:45 +02:00
Niclas Finne bb4885abdc Avoid including APPS twice. Thanks to David Kopf for reporting this. 2012-03-11 01:42:45 +01:00
Ilya Dmitrichenko ab9ddc62ea Added TODO note regarding flavours of Windows. 2012-02-25 10:09:37 -05:00
Ilya Dmitrichenko 9c99d46e24 Simplified host OS platform detection in Makefiles 2012-02-25 10:09:33 -05:00
Mariano Alvira 022d7193d1 main makefile: also search TARGETDIRs when listing all available targets 2012-02-17 11:54:06 -05:00
Mariano Alvira 6233de96b9 main makefile: remove unnecessary realpath because it breaks on cygwin 2012-02-17 11:51:56 -05:00
Mariano Alvira bde97a0356 add emacs mode hint to Makefile.include 2012-02-13 09:57:53 -05:00
Mariano Alvira e13dc1d5ee Provide a way to add additional TARGET search directories.
E.g. in a makefile do:

TARGETDIRS += ../targets

This will search for targets in ../targets as well as
$(CONTIKI)/platforms

A error will occur if more than one targets with the same name are
found.
2012-02-13 09:57:53 -05:00
Mariano Alvira 9f54eeacd7 Provide a way to add additional APPS search directories.
E.g. in a makefile do:

    APPDIRS += ${addprefix ../apps/, $(APPS)}
2012-02-13 09:57:53 -05:00
Adam Dunkels 6ae8d85c09 simple-udp should be included in the IPv4 build as well. 2012-01-25 06:34:47 -08:00
Niclas Finne 8b83ffec67 Added native-border-router and slip-radio 2012-01-01 09:29:33 +01:00
Adam Dunkels 65360fd8a1 A significantly simpler API for sending UDP packets 2011-08-29 21:30:44 +02:00
David Kopf 656e80b57a Tag version commits and override CONTIKI_VERSION_STRING with git describe 2011-07-16 08:53:44 -04:00
dak664 bb574fd1e2 Don't create an object directory if target does not exist 2011-03-10 14:59:21 -05:00
oliverschmidt f3cf57e41b Somewhat surprisingly this is the only change necessary to make the Contiki build system in general compatible with make.exe from GnuWin32 and cmd.exe. 2011-01-23 16:22:48 +00:00
adamdunkels a7c882a6de Added uip-packetqueue.c 2010-10-28 15:43:29 +00:00
adamdunkels 324796cd1a Define the CONTIKI variable, and explicitly set the CONTIKI_TARGET_ variable to 1. (Patch by Robert Quattlebaum.) 2010-10-24 22:31:17 +00:00
adamdunkels 3fa8ffda1a Moved the modules packetbuf, queuebuf, and packetqueue from net/rime to net/, since they are not Rime-specific 2010-06-14 19:19:16 +00:00
adamdunkels 8f8393aadc Moved ctimer.[ch] from their old and illogical location in core/net/rime to a more appropriate place in core/sys 2010-06-14 07:34:36 +00:00
joxe 168a65d989 added ContikiRPL - an implementation of IETF ROLL RPL 2010-04-30 13:43:53 +00:00
nvt-se a6da1c97df removed obsolete IPv6 routing reference 2010-04-30 12:42:00 +00:00
joxe fd3d6c44d0 integration of new uip6 code from Mathilde and Julien - adds routing and improved interface handling 2010-03-15 16:41:24 +00:00
nvt-se 814dd8bf59 Added generic modules for neighbor information. 2010-03-12 13:19:45 +00:00
adamdunkels 5292005962 A null radio driver that does not do anything - useful in the native port and as a template for new radio drivers 2010-02-23 18:18:53 +00:00
adamdunkels 5cf3b83733 Common initialization code for the netstack 2010-02-18 23:15:26 +00:00
oliverschmidt 933fff4c89 Parallelizing the build and the checkin isn't such a great idea after all ;-) 2010-02-07 23:30:30 +00:00
oliverschmidt 395d7675a1 Added dhcpc.c to the Contiki library (like i.e. resolv.c). 2010-02-07 23:20:31 +00:00
nvt-se 075a763e95 removed unused compilation units for IPv6 2009-11-18 15:12:06 +00:00
nvt-se a0347487dc Include mmem.c in the library source list. 2009-10-13 12:10:03 +00:00
oliverschmidt 7a228fea41 Replaced classic approach of generating dependency files via rule with generating them as side effect of generating object files. The issue with "No rule to make target ..." is solved as suggested in http://make.paulandlesley.org/autodep.html.
At least with gcc (and cc65) the dependency files are generated without an additional run of the C compiler. This is especially beneficial on Cygwin because of the fork() performance issue.
2009-07-02 22:36:04 +00:00
nvt-se d15b19b09c added net/routing to dir to CONTIKIDIRS and included Makefile.routing 2009-04-06 13:20:34 +00:00
adamdunkels b298e3c524 Moved APPS inclusions to before TARGET inclusions so that the platform-specific makefile can operate on definitons made by the APPS makefiles. This reverts a change that was inadvertedly made when introducing platform-specific APPS directories 2009-03-17 20:08:56 +00:00
adamdunkels 0076bfe8a5 Changed the name of the 'serial' module to 'serial-line' to signify that the module is about lines of data from the serial port, not individual bytes, and to make sdcc happy 2009-03-17 15:56:32 +00:00
adamdunkels 1122e49b72 Allow application directories to be both in the generic apps/ directory and in target-specific platform/X/apps 2009-03-12 19:10:37 +00:00
fros4943 a472adbe69 added missing sources to makefile: ringbuf.c compower.c 2009-03-02 09:39:37 +00:00
adamdunkels b80d3cfdb9 Added a . to the SOURCEDIRS variable so that system files can be overridden by having a file with the same name in a local directory 2009-02-11 09:03:52 +00:00
fros4943 80feb7ad57 added experimental checkpointing functionality:
currently only implemented on the sky platform
2009-02-04 18:12:57 +00:00
oliverschmidt e362e2b99e Replace hyphen with underline to make generated macro names more consistent. 2008-11-15 11:13:19 +00:00
oliverschmidt f40cfa2f42 Minor formatting change. 2008-11-14 22:06:53 +00:00
oliverschmidt b21b874801 Having the C preprocessor macro CONTIKI_TARGET set to $(TARGET) turned out to be not that useful for conditionals. Therefore I switched to having the macro CONTIKI_TARGET_$(TARGET) set (to the default value of 1).
In order to allow for clean C code with the usual all-uppercase macro names $(TARGET) had to be converted to uppercase. Gnumake doesn't have a builtin string function for doing so, therefore sed is called. The Gnumake doc section 14.2 lists sed as one of the utilities a makefile can always presume to be available. However it states that only generally supported utility options should be used. So the GNU sed extension \U was intentionally avoided.
2008-11-14 21:37:45 +00:00
adamdunkels 5c17a5582e Produce an error message if a TARGET= does not exist 2008-11-06 08:16:10 +00:00
adamdunkels a3f0c649f0 Automatically define the UIP_CONF_IPV6 C preprocessor macro if the UIP_CONF_IPV6 make variable is defined - not the nicest way of doing this, but ought to work for now... 2008-10-15 09:13:05 +00:00
c_oflynn d5865cb2b6 -Change needed for ravenusb to build
-Reverts Makefile.include back to 1.57, then apply the needed change
2008-10-14 20:31:46 +00:00
c_oflynn a520fe4646 Lots of changes / commits! This allows ravenusbstick example to build at least. 2008-10-14 19:06:51 +00:00
julienabeille 08465a6c19 new-ipv6 compiles on native cygwin 2008-10-14 14:00:58 +00:00
adamdunkels 573040e315 Re-added random.c, removed uip-split.c for IPv6 because of incompatible API 2008-10-14 12:25:22 +00:00
adamdunkels edae9741ed Added the uIPv6 targets to the top-level Makefile.include. uIPv6 is enabled with the UIP_CONF_IPV6 switch. 2008-10-14 09:27:07 +00:00
nvt-se 6ecffb0592 added the stimer alongside the other timers 2008-10-09 12:41:31 +00:00
adamdunkels ba2323f9ed Include CRC16 library in sources 2008-07-07 23:21:50 +00:00
oliverschmidt 4dcbc3273e Now that we started adding files to the CVS which are normally generated with a 'save...' make goal we can remove the DEFAULT_TARGET mechanism altogether and just add Makefile.target files. 2008-05-26 10:09:12 +00:00
oliverschmidt 929da590be Removed '!' as gnumake already adds '.'. 2008-05-22 19:43:08 +00:00
nifi 8b30087ce4 added ifft 2008-04-25 16:51:51 +00:00
adamdunkels d0c80b9210 Removed inclusion of old Chameleon Makefile 2008-02-25 11:57:55 +00:00
adamdunkels 7b71f23abe Factored out the time table keeping code from the profiling code and placed it in a separate 'timetable' module, that may be uesd on its own. 2008-01-17 12:19:25 +00:00
adamdunkels 02ee418313 Moving timesynch.[ch] from sys/ to core/net/rime as they have more to do with Rime than with the kernel 2008-01-14 14:22:16 +00:00
oliverschmidt cd261f3121 Show info on saved defines only if they not empty. 2008-01-04 21:01:37 +00:00
oliverschmidt 73027164c8 Added 'savedefines' target working like 'savetarget'. Replaced $(warning...) with $(info...). Aded user feedback for the two 'save...' targets. 2007-12-24 15:24:15 +00:00
oliverschmidt a5ccd9515d Allow to define arbitrary compiler preprocesor variables from the make command line. 2007-12-21 10:16:45 +00:00
oliverschmidt ae4978e994 Moved z80 specific line to z80 makefile. 2007-12-21 00:49:40 +00:00
adamdunkels 6708450749 Added timesynch.c 2007-12-16 14:37:26 +00:00
oliverschmidt 257c45776b Removed duplicate reference to uiplib.c, removed reference to ctk-term as this was moved to the backyard and did minor reformatting. 2007-11-22 11:19:27 +00:00
adamdunkels 607d27e0c6 Removed unused file rawpacket-udp 2007-11-17 17:59:08 +00:00
adamdunkels bb9e35c79e Added profiling code, statistics printing library 2007-11-12 22:25:12 +00:00
matsutsuka ee76163a8c the order of assembler parameters were changed, because some compiler like SDCC requires the output file at the last place. 2007-09-06 01:09:53 +00:00