After cleaning up the source code, I've now been able to rearrange the build process so that the actual "meat" of avrdude is compiled into a libavrdude.a library, where main.c is currently the only known frontend program that is linked against that library.
The library is currently not being installed but only used internally. However, it would now not be too hard to add additional frontend programs that use the same backend functionality. (Did anyone say "GUI frontend" here? :-) Ideally, the stuff would better be moved into subdirs, but I hesitate to do this as CVS simply does not offer that feature, so we'd lose all file history. However, in case anyone here plans to start out a new frontend, please start with a new subdir for it immediately. As for the backend files, there's currently approximately one .h file per .c file, introducing all data types required for that implementation file, and declaring all exported functions and objects. All functions and objects that do not need to be visible outside their current compilation unit are declared "static". There's still no really consistent naming style for all the exported library functions and objects, but this should at least reduce the name space pollution a bit so other frontends are less at risk of colliding with internal functions. -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) _______________________________________________ avrdude-dev mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avrdude-dev
