[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: A little puzzled about the purpose of gschem





David C. Kerber wrote:
  Harder than having a proper library that allows me to focus on the
circuit design instead of these kinds of clerical tasks
that appear to
arise from an utter lack of understanding that human
beings do not like
to do mundane, repetitive tasks that are best suited for
the software
  to take care of.
And gEDA is better at doing the mundane, repetitive tasks than other systems. Once you have your processes set up, a single "make" can generate netlists, BOM, simulation results, printable schematics, typeset documentation...

How long did it take you to learn make well enough to do this with it?
I'm not John, but understanding make enough, to describe a linear or tree-shaped flow requires reading of about 5-15 pages describing syntax and remebering 3 basic things:

- to the left of the ":" in a rule is what I want to get from that rule (the target)
- to the right of the ":" are the ingredients
- the script-piece below the rule is the recipe, how to make the result out of the ingredients;
 usually a command or sequence of commands.

This can be cascaded ad infinitum.

All the complicated rest of make is about how to parametrize and generalise these
3-part rules and achieve behaviours that deviate from the simple priciples.

How long does it take you to set up your processes for any given project?
eventually depends on the project, but so far my geda makefile looks like this:

---------------------- cut here -------------------------
zip:
   zip lichttisch_`date -I`.zip *.sch *.net *.pcb *.gbr *.cnc
---------------------- cut again -----------------------

It has a single target named "zip" that depends on nothing.
The target does not create a file called "zip"  so it will always
invoke it's script when called.

So if I want to create the zip-file of todays snapshot for backup
I type 'make zip' Actually typing 'make' would be sufficient, since
the 1st target in a makefile is the default.

Make was developed to automate hierarchical builds, so it checks
the age of file(s) described by a target to the age of all ingredients
and invokes the corresponding build script, only if at least one of the
ingredients is newer than the target.
But to a newbie, learning to use a tool effectively if its only power is at a command line, takes a loooooong time, and much referring to a  separate reference of some kind to find the needed command.  A gui, while it can be limiting to an expert, will often speed up that initial learning curve, especially if it's just a wrapper around a command-line or other interface, so the newbie can use it to learn the capabilities and commands that the command-line uses.
This took me a few minutes to write. How long did you need to read and understand it? ;-)

Armin


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user