[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Executing a shell script in a Makefile
From: |
G2345C |
Subject: |
Re: Executing a shell script in a Makefile |
Date: |
Wed, 29 Sep 2004 13:15:57 -0700 (PDT) |
because the next statement get executed and it failed
because foo.o is not yet get copy.
Now if I modified the makefile to this:
all :
$(SHELL) ./copyfile.sh
then run it.
wait for about 1 minute....
then modify the makefile to this:
all :
cd $(OBJ_DIR) && mv foo.o newfoo
then run again it work great
Thanks for your help
--- Noel Yap <address@hidden> wrote:
> Are you sure copyfile.sh doesn't exit until it's
> done? How do you know?
>
> G2345C wrote:
>
> > Sorry for the confusion. My typo problem
> >
> > the makefile is like this:
> > all :
> > $(SHELL) ./copyfile.sh
> > cd $(OBJ_DIR) && mv foo.o newfoo.o
> >
> > foo.o is a very large file that copy to $(OBJ_DIR)
> by
> > the 'copyfile.sh' script.
> > While the copy is in progress the 'mv' is
> executing
> > cause it to fail becase foo.c is not yet copy to
> the
> > $(OBJ_DIR)
> >
> > Thanks
> >
> >
> >
> >
> > --- "Paul D. Smith" <address@hidden> wrote:
> >
> >
> >>%% G2345C <address@hidden> writes:
> >>
> >> g> How do I ask the make file to wait for the
> >>script
> >> g> finished its execution then move on to the
> next
> >>step.
> >>
> >>It always does.
> >>
> >> g> Look at the 'all' target below, I want to
> wait
> >>for the
> >> g> 'copyfile.sh' script finish before 'cd to
> >>OBJ_DIR' but
> >> g> it always 'cd to OBJ_DIR' before the script
> >>finish
> >> g> copy file
> >>
> >>No it doesn't.
> >>
> >> g> all :
> >> g> $(SHELL) ./copyfile.sh
> >> g> cd $(OBJ_DIR)
> >>
> >> g> (the script copy several large file, that is
> >>how I know it cd to
> >> g> the OBJ_DIR before the copy finish)
> >>
> >>I don't see how the fact that the script copies
> >>several large files
> >>tells you anything about when the cd runs.
> >>
> >>
> >>Remember that the working directory is a function
> of
> >>your current shell,
> >>AND that every command make invokes is run in its
> >>own shell. So a
> >>command like:
> >>
> >> cd $(OBJ_DIR)
> >>
> >>is a complete no-op, since as soon as this command
> >>is done the shell
> >>will exit and there goes your working directory
> >>context.
> >>
> >>--
> >>
> >
> >
>
-------------------------------------------------------------------------------
> >
> >> Paul D. Smith <address@hidden> Find some
> >>GNU make tips at:
> >> http://www.gnu.org
> >>http://make.paulandlesley.org
> >> "Please remain calm...I may be mad, but I am a
> >>professional." --Mad Scientist
> >>
> >
> >
> >
> > =====
> > -------------------------
> > http://www.nguyen.bz/dvd
> > -------------------------
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam? Yahoo! Mail has the best spam
> protection around
> > http://mail.yahoo.com
> >
> >
> > _______________________________________________
> > Help-make mailing list
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/help-make
>
=====
-------------------------
http://www.nguyen.bz/dvd
-------------------------
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
- Executing a shell script in a Makefile, G2345C, 2004/09/29
- Re: Executing a shell script in a Makefile, Paul D. Smith, 2004/09/29
- Re: Executing a shell script in a Makefile, G2345C, 2004/09/29
- Re: Executing a shell script in a Makefile, Paul D. Smith, 2004/09/29
- Re: Executing a shell script in a Makefile, G2345C, 2004/09/29
- Re: Executing a shell script in a Makefile, Noel Yap, 2004/09/29
- Re: Executing a shell script in a Makefile, Paul D. Smith, 2004/09/29
- Re: Executing a shell script in a Makefile, G2345C, 2004/09/29
- Re: Executing a shell script in a Makefile, Paul D. Smith, 2004/09/29
- Re: Executing a shell script in a Makefile, G2345C, 2004/09/29
- Re: Executing a shell script in a Makefile, Paul D. Smith, 2004/09/29