Hi,

I'm trying to understand this example (form the GNU
manual), which creates dependency files:

%.d: %.c
        @set -e; rm -f $@; \
         $(CC) -M $(CPPFLAGS) $< > [EMAIL PROTECTED]; \
         sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < [EMAIL PROTECTED]
> $@; \
         rm -f [EMAIL PROTECTED]

Here are my questions:

1. What does "@set -e;" do?  Is that a shell command
or make command?  I couldn't find anything in man
about it.

2. What is "[EMAIL PROTECTED];"?  I know that "$@", when used
alone, represents the target, but what's with all
those dollar signs?

3. Can someone break down the sed command:

sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < [EMAIL PROTECTED] > $@;

I've never seen sed used this way before.  Eg, I can't
see how the commas are specifying a range, and there
is no -e flag.

Thanks for any clarification,
John



                
__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail


_______________________________________________
Help-make mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to