Commit Graph

206 Commits

Author SHA1 Message Date
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
oliverschmidt
02fb08e029 (Hopefully) only style alignment of recent change. 2007-08-30 20:42:58 +00:00
matsutsuka
9d4fc0a1a8 Support for z80(sdcc) port.
In order to support, some core modules are modified as follows:

core/sys/dsc.h
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.
- DSC_HEADER is changed to remove extra semicolon.

core/sys/process.h
- process_data_t is expressed by void* in signatures (known bug on sdcc).

core/sys/autostart.h
- autostart_processes is changed to remove extra semicolon.

core/sys/cc.h
- CC_CONF_ASSIGN_AGGREGATE is introduced.
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/net/hc.c
core/net/uip_arp.c
core/net/uaodv.c
- Aggregation assignments are changed to uip_ipaddr_copy.

core/net/psock.c
core/net/uipbuf.c
core/net/dhcpc.c
apps/shell/shell.c
core/ctk/vnc-server.c
core/ctk/vnc-out.c
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

core/net/uip-over-mesh.c
- An extra semicolon is removed.

apps/dhcp/dhcp-dsc.c
apps/shell/shell-dsc.
apps/ftp/ftp-dsc.c
apps/process-list/process-list-dsc.c
apps/email/email-dsc.c
apps/webserver/webserver-dsc.c
apps/vnc/vnc-dsc.c
apps/vnc/vnc-viewer.h
apps/webbrowser/www-dsc.c
apps/about/about-dsc.c
apps/irc/irc-dsc.c
apps/telnet/telnet-dsc.c
apps/telnetd/telnetd-dsc.c
apps/netconf/netconf-dsc.c
apps/directory/directory-dsc.c
pps/calc/calc-dsc.c
- Modify an extern type to a real declaration, which is static
  to prevent a compile error.

core/net/mac/xmac.c
- Variables cannot be defined in a head of block on sdcc.

core/ctk/ctk.h
core/ctk/ctk.c
apps/program-handler/program-handler.c
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.

Makefile.include
- Add a set of configuration for an assembler.
- $(CLEAN) variable is introduced for customized cleanup.

apps/process-list/process-list.c
- PROCESSLIST_CONF_HEIGHT is introduced to address smaller screen size.

core/lib/ctk-filedialog.c
- FILES_CONF_HEIGHT is introduced to address smaller screen size.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/vnc/vnc-viewer.c
- A cast is added to prevent a compile error.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/webbrowser/webclient.c
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/loader/elfloader.c
- A cast is added to prevent a compile error.

core/net/rime/rimeaddr.c
- An initialization is added to prevent a compile error.

core/net/rime/rudolph0.c
- NULL is changed to 0, because NULL causes a compile error.

core/net/rime/route-discovery.c
- Add an argument to match the definition of nf_callbacks.

cpu/z80/strcasecmp.h
cpu/z80/strcasecmp.c
cpu/z80/contiki-sdcc-conf.h
cpu/z80/mtarch.c
cpu/z80/mtarch.h
cpu/z80/Makefile.z80
- New files to make compilation availble on sdcc.
- Added support for multithreading.
2007-08-30 14:39:16 +00:00
oliverschmidt
36b80dad8a Finally moved service.[c|h] into backyard. The "only" user left in outside backyard is the CTK on GTK simulation layer - which needs to be updated to build / run again... 2007-05-26 23:29:28 +00:00
oliverschmidt
d6735fa9b2 Allow to set a default target (different from 'native') to be used if TARGET isn't set. This is i.e. useful for examples requiring network i/o. 2007-05-26 22:38:23 +00:00
oliverschmidt
5f3296e943 Changed packet drivers from services to plain processes.
Now tcpip_output() is a function pointer that is supposed to be set via the macro tcpip_set_outputfunc(). Packet drivers do so on process startup.

Thus if there are several packet drivers in a Contiki system the one started last is the one actually used. This behaviour is especially useful for the 'IP forwarding' "meta" packet driver.
2007-05-20 21:29:39 +00:00
oliverschmidt
9f97290665 Changed Contiki File System (cfs) from a service to a plain library.
This change means that one needs to select _ONE_ cfs implementation at Contiki library link time. But this doesn't appear to be an issue as all platforms have their "favorite" implementation anyway.
2007-05-19 21:05:48 +00:00
oliverschmidt
ae2073cac9 Factored out setup directory search path for source files into Makefile.include.
- All compilers used support the -I option for setting an include search directory.

- The Contiki source tree follows the (common) approach of placing declarations (in headerf iles) in the same directory as definitions (in source files).

As a result it makes sense to use the -I compiler option for just the same set of directories used for the vpath gnumake directive.

Note: I checked several builds but nevertheless one or the other might need some additional adjustsments. Sorry for the inconvenience.
2007-05-19 07:54:53 +00:00
adamdunkels
5efb178dc3 Added MAC directory 2007-05-15 07:47:34 +00:00
oliverschmidt
237b1617b5 Factored out setup directory search path for source files into Makefile.include.
- Search target specific directories before CPU specific directories.
- Search CPU specific directories before generic directories.

Note: I checked several builds but nevertheless one or the other might need some additional adjustsments. Sorry for the inconvenience.
2007-05-13 08:41:11 +00:00
oliverschmidt
f023e03976 Improved (hopefully) name of function variable. 2007-04-21 15:13:14 +00:00
oliverschmidt
fe0e1fca17 Added minimal support for handling assembler sources. 2007-04-21 14:56:52 +00:00
oliverschmidt
ffe5f48d55 Replace (very uncommon) 'tab' in prerequisites with 'space'. 2007-04-18 22:38:44 +00:00
oliverschmidt
0acdd92457 Improved compatibility with different platforms - and inline documentation. 2007-04-18 21:28:28 +00:00
oliverschmidt
8b7de528fb Consistently use curly brackets for function calls. 2007-04-14 18:37:06 +00:00
oliverschmidt
661a58cddb Make lists of source files for each app available individually - i.e. for creation of dynamically loadable modules. 2007-04-05 19:50:43 +00:00
adamdunkels
eb77a2b2df Added rtimer.c 2007-04-03 19:08:06 +00:00
oliverschmidt
e2165bc38b Brought back mt.c which I had removed with revision 1.12 now that we have a cpu/native implementation of mtarch.c. 2007-04-03 00:46:18 +00:00
adamdunkels
509ad55a2e Added text that shows what the computer is doing when making dependencies 2007-03-31 18:40:52 +00:00
adamdunkels
62430052ff Added core elfloader to SYSTEM 2007-03-22 23:54:16 +00:00
adamdunkels
5a0929be91 Added uip-over-mesh 2007-03-22 19:02:42 +00:00
adamdunkels
3a89bafd38 Added a PROJECT_LIBRARIES variable that can be used to add libaries to the .$(TARGET) file 2007-03-16 06:56:58 +00:00
adamdunkels
6f9877d1a8 Added core/net/rime directory 2007-03-15 21:45:15 +00:00
nifi
338aa9e7a2 removed clean of node-id.c because it is no longer auto-generated 2007-01-18 13:47:40 +00:00
oliverschmidt
859ab1b706 Allow a target-specific makesfile to supply a custom rule for dependency file generation in the same way it is done for all other rules. 2006-12-31 14:16:32 +00:00
oliverschmidt
07a26c584a Introduced a new variable CONTIKI_OBJECTFILES in order to allow target-specific makesfile to add object files to the Contiki library which are not compiled from .c files but i.e. assembled from .S files. 2006-12-31 13:54:24 +00:00
oliverschmidt
355630f2d6 The whole Contiki 2.x CVS project doesn't contain a single usage of the Contiki preemptive multithreading library. Therefore I argue to remove it from the default build in order to lower the barrier to entry for new - or old ;-) targets - especially those without a timer interrupt.
If the Contiki preemptive multithreading library is desirable for a specific target it can be added with a simple

CONTIKIFILES += $(THREADS)

in the Makefile.$(TARGET).
2006-12-31 13:46:40 +00:00
oliverschmidt
99fd132d3c If we explicitly do a
ifndef LD
  LD = $(CC)
endif

we could as well use $(LD) for linking ;-)
2006-12-31 13:34:59 +00:00
adamdunkels
0ed1d401d5 Added experimental non-routed packets rawpacket-udp.c 2006-10-22 12:32:43 +00:00
adamdunkels
0aa57dcab5 Added CONTIKI_TARGET #define 2006-10-09 10:09:10 +00:00
adamdunkels
a918793e19 Put mt.c back in there, but this time the problematic code that was in the file is commented out 2006-09-01 22:57:32 +00:00
adamdunkels
b7a0184eac Removed compilation of unused file mt.c 2006-09-01 07:13:56 +00:00
adamdunkels
deba5cfcd5 Added uip-udp-packet.c. Made native the default target. Added a 'targets' target that lists all available targets. 2006-08-31 09:36:29 +00:00
adamdunkels
2fe1ccf8c5 Changed linking to use CC instead of LD to make things work with the current Makefiles (particularly platform/native). Not sure if this change is a good thing; it not, it should be reverted once we get the other Makefiles up to speed. 2006-08-08 13:06:54 +00:00
gpz
5dec29ce00 added some ifdefs to allow overiding some rules by arch specific makefiles 2006-06-26 02:01:30 +00:00
adamdunkels
8ee4f7fc3d Removed out-commented stuff from Makefiles 2006-06-24 06:23:47 +00:00
adamdunkels
6c96877cdf Added the RUNES component model (crtk.c) to the Makefile. (Note: the function names in the crtk.c must be fixed to comply with the Contiki nameing model before becoming a part of Contiki.) 2006-06-23 07:37:15 +00:00
adamdunkels
c9e808d638 Import of the contiki-2.x development code from the SICS internal CVS server 2006-06-17 22:41:10 +00:00