Building the library itself
WebbotLib comes to you with all of the code pre-compiled into libraries meaning that it is ready-to-go for your own projects.
Advanced users may want to add their own code into WebbotLib or fix a minor bug (and let me know what they fixed!). If you just change the C code within the library and rebuild your project you will find that nothing has changed. Why? Well your project is using my pre-built libraries and not the source code.
So if you make any changes inside the library then you will need to recompile the whole library so that your changes get into the pre-compiled libraries used by your projects.
Its easy enough to do.....
Changing an existing file
If you have just modified an existing piece of source code then you can rebuild the libraries by opening a command window, and moving to the WebbotLib folder. Then just type:
or if you want to see all of the options then just type:
If you have fixed a bug then let me know about it - otherwise when you get the next release your change will have disappeared.
Adding new files to the library
If you have added your own code to the library then you need to let 'make' know about it. Open the 'makeone' file in a text editor.
You will see 3 large assignments here: C_SRCS, OBJS and C_DEPS. Just add an entry into each of the three for your new file.
You can now rebuild the library using:
But Beware...support issues
I would recommend that before you make any changes or additions that you do so by copying the whole WebbotLib folder to a new folder and then make your changes there. You then have a 'supplied' version of the library to resort back to.
Obviously if you ask support questions to do with WebbotLib but you have altered the supplied code then it makes life difficult for everyone! If this is the case then its best to make it clear what changes you have made and why.
If you have added a new feature to WebbotLib and feel that it merits being included then let me know (email@example.com). This could be support for a new sensor, a bug fix, or just a 'handy piece of code'. I will appraise what you have done and either include it (with acknowledgement to you) or I may just say 'its cool - but.....'.
When submitting new stuff then remember the ethos of the library - it supports a large range of ATMega chips (not just one!) - so any chip/board/project specific stuff that would only make life easier for your own project may be dismissed! Also any new sensors need to return standard values:- distance sensors return 'cm' etc - so make sure that yours does too.