kbuild: make: fixed some output style errors.

There were some irregularities in the building output
(scripts/Makefile.build), most notably the missing output of some
[SHIPPED] files. Fixed by calling the correct quiet_cmd. Also fixed a
spacing error in the AR command of multi object modules.

Signed-off-by: Michel Megens <dev@michelmegens.net>
kbuild: single obj mod building fix

Single object modules were causing trouble if more then one of them were
being build in the same directory due to using a bogus variable. Fixed
by using a derative of the make $@ variable.

Added a module for the generic EEPROM driver.

Signed-off-by: Michel Megens <dev@michelmegens.net>
tests: eeprom: added the EEPROM module to its test

libeeprom.a contains the EEPROM module if it is being build as a module.
Added this module to the Kbuild file for the EEPROM unit test.

Signed-off-by: Michel Megens <dev@michelmegens.net>
eeprom: core: added a basic EEPROM core driver

The EEPROM core is basically a generic front end using the device
interface. To do so, I have also added another function pointer to the
FILE descripter:

	* int (*ioctl)(struct file*, unsigned long, void *)

This function can be used to drive specific control options of a device
driver.

Signed-off-by: Michel Megens <dev@michelmegens.net>
eeprom: core: implemented device function pointers

Implemented the device function calls which provide the FILE based API
to the EEPROM device subsystem. Implemented:

	* read;
	* write;
	* read_byte;
	* write_byte;

Updated the 24C02 EEPROM chip driver to be compliant with the new device
interface. The old, static interface is still functional - but
depricated.

Signed-off-by: Michel Megens <dev@michelmegens.net>
lib: stdio: added getc, fgetc and ioctl.

Implmented the functions:

	* getc
	* fgetc
	* ioctl

ioctl can be used to control several options of a device file. The
options you can control differ for each device. Please check the help
documents for the specific device driver to see what can be controlled
using ioctl.

getc and fgetc are both stream readers, used to read a single byte from
a stream. Please not that the STREAM_READ_FLAG has to be set in the
`struct file::flags' register.

Signed-off-by: Michel Megens <dev@michelmegens.net>
lib: stdio: removed a double definition

The `struct file::flags' __SMALLOC flag was defined twice. Removed one
of the two.

Signed-off-by: Michel Megens <dev@michelmegens.net>
test: eeprom: added file based eeprom read.

Added a `getc' call to the EEPROM unit test.

Signed-off-by: Michel Megens <dev@michelmegens.net>
test: eeprom: added a config for the EEPROM test

eeprom-test-config is a dot-config file for the kbuild configuration
system. This configuration file contains the minimum functionality that
has to be compiled to run the EEPROM test.

Signed-off-by: Michel Megens <dev@michelmegens.net>
cpp: decls: fixed a C++ declaration error.

Removed the forward declarations of new and delete, they aren't
neccearry. Also fixed a bug with CDECL and CDECL_END. They'd cause a bug
in *.cpp files including <etaos/preempt.h>. Fixed by moving CDECL_END to
the end of the file.

Signed-off-by: Michel Megens <dev@michelmegens.net>
lib: stdio: documented getc, fgetc and ioctl.

Added Doxygen comments to:

	* getc
	* fgetc
	* ioctl

Signed-off-by: Michel Megens <dev@michelmegens.net>
eeprom: doc: documented the EEPROM core module.

Added documentation and fixed old documentation in the EEPROM core and
24C02 EEPROM drivers.

Signed-off-by: Michel Megens <dev@michelmegens.net>
kbuild: make: fixed a make output 'bug'.

Fixed a bug where scripts/Makefile.build would output the wrong
information when building single object modules. It would also say it
was archiving while it was actually compiling the source code using the
appropriate compiler.

Signed-off-by: Michel Megens <dev@michelmegens.net>
Merge branch 'i2c'

* EEPROM core
* 24C02 device interface
* Several new STDIO functions:
	> getc
	> fgetc
	> ioctl
* Documentation on all of the above
test: sched: added a example config file

Added an example configuration file which supplies the minimum build to
run the schedtest unittest.

Signed-off-by: Michel Megens <dev@michelmegens.net>
ETA/OS 2.0.1

Signed-off-by: Michel Megens <dev@michelmegens.net>