Date: Wed, 11 Mar 1998 11:02:05 +0200 (IST) From: Eli Zaretskii To: Hao Lai cc: djgpp AT delorie DOT com Subject: Re: problem with makefile In-Reply-To: <35054FD2.C5064503@irus.rri.on.ca> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Tue, 10 Mar 1998, Hao Lai wrote: > SHELL = /bin/sh > CC = gcc > INCLUDE = -I../include > CCFLAGS = -Wall -O2 > > all : stopWatch > > stopWatch : stopW.c > -$(CC) $(CCFLAGS) $(INCLUDE) -c stopW.c > > clean : > del stopW.o > ******************************************************************** > Here is the output when I run make: > > bash$ make > cd ./util; c:/djgpp/bin/make.exe all; > make.exe[1]: Entering directory 'c:/home/hlai/src/util' > gcc -Wall -O2 -I../include -c stopW.c > make.exe[1]: Leaving directory 'c:/home/hlai/src/util' > No command name seen. > make.exe: *** [stopW] Error -1 The error message indicates that Bash is not invoked. The most probable cause for this is that you don't have sh.exe which is a ``symlink'' to bash.exe. Try running your Makefile again after typing the following from the DOS prompt: ln -s c:/djgpp/bin/bash c:/djgpp/bin/sh (this assumes `ln' from the ported Fileutils package). > stopW : > cd $(SUBDIR1); $(MAKE) all; > > clean : > del main.o > cd $(SUBDIR1); $(MAKE) clean; In general, you should avoid semi-colons at the end of the command lines: they are redundant and aren't supported by the DJGPP port of Make unless the Makefile says "SHELL=/bin/sh". But they *did* work for me when Bash is invoked by Make.