bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Make 3.79 can no longer quoted strings into a file using the shel l


From: Pomerleau, Francois
Subject: Make 3.79 can no longer quoted strings into a file using the shel l
Date: Tue, 17 Jun 2003 11:56:32 -0400

Hello, I am developing applications in Ada and I use make for my
compilation. As part of my build process, I generate an Ada file
(version.adb) that contains the build date and the release version.
I was able to do so using previous version of make (3.77) that came with the
compiler (GNAT). Recently, I have upgraded the GNAT compiler which now uses
make version 3.79 but things no longer work. I am using Windows 2000 and
bash.


Do you have a work around?

Thanks
Francois Pomerleau


Here is a typical Makefile that creates a version.adb file.


 <<version.adb>>  <<Makefile>> 
Here is the error message I get when I run make 3.79:

bash$ make version.adb
echo "package body version is" > version.adb
package: -c: line 2: syntax error: unexpected end of file
make: *** [version.adb] Error 2

bash$ make -d version.adb
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for mingw32
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
        Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <address@hidden>.

find_and_set_shell path search set default_shell = c:/bin/sh.exe
Reading makefiles...
Reading makefile `Makefile'...
Updating makefiles....
 Considering target file `Makefile'.
  Looking for an implicit rule for `Makefile'.
  Trying pattern rule with stem `Makefile'.
  Trying implicit prerequisite `Makefile.o'.
 ...
  Finished prerequisites of target file `Makefile'.
 No need to remake target `Makefile'.
Updating goal targets....
Considering target file `version.adb'.
 File `version.adb' does not exist.
 Finished prerequisites of target file `version.adb'.
Must remake target `version.adb'.
echo "package body version is" > version.adb
CreateProcess(c:\bin\sh.exe,c:/bin/sh.exe -c "echo \"package body version
is\" > version.adb",...)
Putting child 0x003ffc38 (version.adb) PID 8982568 on the chain.
Live child 0x003ffc38 (version.adb) PID 8982568 
package: -c: line 2: syntax error: unexpected end of file
Reaping losing child 0x003ffc38 PID 8982568 
make: *** [version.adb] Error 2
Removing child 0x003ffc38 PID 8982568  from chain.
bash$ 


If I use make 3.76, everything is fine:

bash$ /public/make -d version.adb
GNU Make version 3.77, by Richard Stallman and Roland McGrath.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98
        Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <address@hidden>.
...
  Finished dependencies of target file `Makefile'.
 No need to remake target `Makefile'.
Updating goal targets....
Considering target file `version.adb'.
 File `version.adb' does not exist.
 Finished dependencies of target file `version.adb'.
Must remake target `version.adb'.
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17882.sh
echo "package body version is" > version.adb
Putting child 0x02a4ff50 PID 44439168 on the chain.
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17882.sh
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17883.sh
echo "   built_date : constant string := \"`date`\";" >> version.adb
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17883.sh
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17884.sh
echo "   function get_build_date return string is" >> version.adb
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17884.sh
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17885.sh
echo "   begin" >> version.adb
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17885.sh
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17886.sh
echo "      return built_date;" >> version.adb 
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17886.sh
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17887.sh
echo "   end get_build_date;" >> version.adb
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17887.sh
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17888.sh
echo "   function Number return string is" >> version.adb
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17888.sh
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17889.sh
echo "   begin" >> version.adb
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make17889.sh
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make178810.sh
echo "      return \"X.X\";" >> version.adb 
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make178810.sh
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make178811.sh
echo "   end number;" >> version.adb
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make178811.sh
Creating temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make178812.sh
echo "end version;" >> version.adb
Live child 0x02a4ff50 PID 44439168
Reaping winning child 0x02a4ff50 PID 44439168
Cleaning up temporary batch file
C:\DOCUME~1\fpomerle\LOCALS~1\Temp\make178812.sh
Removing child 0x02a4ff50 PID 44439168 from chain.
Successfully remade target file `version.adb'.
bash$ 

Attachment: version.adb
Description: Binary data

Attachment: Makefile
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]