This doesn't mean that copyfile.sh is not exiting prior to finishing.

G2345C wrote:
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 <[EMAIL PROTECTED]> 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" <[EMAIL PROTECTED]> wrote:



%% G2345C <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] 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


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

Reply via email to