icyphy / ptII

Ptolemy II is an open-source software framework supporting experimentation with actor-oriented design.
https://ptolemy.eecs.berkeley.edu/ptolemyII
Other
98 stars 43 forks source link

GNU Make 3.81 is broken under Windows #51

Open cxbrooks opened 17 years ago

cxbrooks commented 17 years ago

Note: the issue was created automatically with bugzilla2github tool

Original bug ID: BZ#55 From: @cxbrooks Reported version: 6.0.1 CC: pt-dev@chess.eecs.berkeley.edu

cxbrooks commented 17 years ago

GNU Make 3.81 no longer supports Windows style path names with colons in them. The affects the Copernicus code generator because $PTII needs to be set to a pathname with a colon in it like c:/Ptolemy/ptII6.0.1. A path name like /cygdrive/c/Ptolemy/ptII6.0.1 will not work with Java.

For example, if you run copernicus and copernicus runs make, you may see

makefile:360: *** target pattern contains no `%'. Stop.

This is because a makefile variable uses the windows style pathnames with colons in them. One solution is to edit the file to use pathnames with /cygdrive. Another solution is to download a working version from http://www.cmake.org/files/cygwin/make.exe

For details, see http://www.cygwin.com/ml/cygwin-announce/2006-07/msg00008.html

From: Christopher Faylor To: cygwin-announce at cygwin dot com Date: Sun, 9 Jul 2006 18:13:29 -0400 I've made a new version of 'make' available for download. This updates the package to the latest version available from fedora.redhat.com. I've included the relevant portions of the NEWS file and the Fedora ChangeLog at the end of this message.

For a brief description of this package, see http://cygwin.com/packages

Note that the --win32 command line option and "MAKE_MODE" environment variable are no longer supported in Cygwin's make. If you need to use a Makefile which contains MS-DOS path names, then please use a MinGW version of make.

See: http://mingw.org/ for details on downloading a version of make which understands MS-DOS path names. Please! direct any questions about the MinGW version of make to the appropriate MinGW mailing list.

I have no idea what prompted this change, it seems really lame. The code worked fine under Cygwin for many years. Our current makefiles work under both Windows and various Unixes. It seems like breaking an important tool such as make only hurts the GNU tools.

cxbrooks commented 9 years ago

Created attachment 49 GNU make 3.80 compiled for Windows Server 2012 R2 64-bit

Attached is a copy of GNU make 3.80 compiled for Windows Server 2012 R2 64-bit.

To do the compile, when running ./configure, I got

./config/config.guess: unable to guess system type

To fix this, I had to edit config/config.guess and add

x86:CYGWIN:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0;;

Attached file: cygwin-make-3.80.tar.gz (application/x-gzip, 281829 bytes) Description: GNU make 3.80 compiled for Windows Server 2012 R2 64-bit