I think you have your terminology confused. A macro is a list of directives that tells the linker to do someting such as
#define USART1_BAUDRATE(br, fosc) ((fosc)/((br)*161)-1)
it is usually some sort of value replacement and macro commands have a very limited number of commands. To do a binary...
SQL is for accessing databases and not for reading files. What are you trying to do. Unix has a very rich set of commands for extracting data from files.
As already stated get yourself a copy of Ghostscript (its free) and then get a copy of Ghostgum, this give you a nice GUI interface and is also free. I use this all the time and once you get the settings right it is almost as good as the Adobe product
Get Eagle from www.cadsoft.de
Its free for non-commercial use with limitation of only double sided boards and 100x 80mm. Has autorouting and schematic editor, reqally good once you get over the learning curve. Only bad part is the library editor and lack of parts in it.