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 <[EMAIL PROTECTED]>. 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 <[EMAIL PROTECTED]>. ... 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$
version.adb
Description: Binary data
Makefile
Description: Binary data
_______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make