Config.mk

From Ethersex_Wiki
Jump to: navigation, search

The file 'config.mk' in the root directory of the ethersex folder structure is the key for developing your own Ethersex components, which should not be included in Ethersex, simply because they are too specific.

Perhaps as basic rule should apply: If you want to add something to Ethersex, which will not be published, make sure that the existing files that are included in Ethersex are not modified. The file config.mk and mechanisms such as the meta-areas make this feasible to the greatest possible extend. This approach has the advantage for you, that if you upgrade to a new Ethersex Version there are no conflicts between your and our modifications.

If you supply patches from time to time, this makes your life easier too, you don't have to be careful to accidentally commit something that was not even supposed to be checked in.

So, everything you would put in the Makefile in the root directory, you just put it in the file config.mk. If it doesnt exist yes, just create it.

more supplementing files

protocols/ecmd/ecmd_defs.m4

Instead of editing ecmd_defs.m4, you can also create a new file somewhere with the same syntax as shown in ecmd_defs.m4. To make your new file known to the make-system you have to register it. This again is done in config.mk:

ECMD_DEFS_EXTRA += mycruft/private_ecmds.m4

... and already the entries in the file mycruft/private_ecmds.m4 are taken into account.

named_pin Configuration

For the time being and to come of best, simply copy the file core/portio/config somewhere and use it as a template. To Register you file, use the following line in config.mk:

NP_CONFIG = mycruft/named_pin.conf

Control6 script

Your own Control6 script in another location than control6/control6.src is registered with the following statement:

C6_SOURCE = mycruft/wacky.src
or 
C6_SOURCE = $(TOPDIR)/control6/your_programm.src

other possible entries

call avrdude with 'make dude644'

dude644: etherse.hex
        avrdude -p m644 -c usbasp -V -Uflash:w$<

reset AVR with 'make reset' via ISP Programmer

reset:
        avrdude -p m644 -c usbasp