I have recently installed GNUstep binaries with Synaptic Package
Manager on my Ubuntu system, and subsequently started to study the
Base Programming Manual, where I came across the following:
Now create the makefile, again using your favourite text editor, and
save it in the same project directory with the filename GNUmakefile.
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = LogTest
LogTest_OBJC_FILES = source.m
include $(GNUSTEP_MAKEFILES)/tool.make
If you look at the makefile above you will notice the two lines that
tell the make utility to build a tool with the filename LogTest from
the Objective-C source file source.m. You could copy and modify this
makefile for later projects you may have: just change the tool name
and list the new source files.
The trouble is that changing the line {{ TOOL_NAME = LogTest }} to
something else, make does not work. I get the following:
$ make
This is gnustep-make 2.0.2. Type 'make print-gnustep-make-help' for
help.
Making all for tool WriteStr2File...
Linking tool WriteStr2File ...
/usr/lib/gcc/i486-linux-gnu/4.2.4/../../../../lib/crt1.o: In
function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make[1]: *** [obj/WriteStr2File] Error 1
make: *** [WriteStr2File.all.tool.variables] Error 2
igor@kosi:~/work/prgming/obj-c/projs/bp02/wr2file
$
It looks as if certain names like {{ LogTest, simple, ...}} were pre-
compiled into GNUstep make. Is this a known undocumented problem, or
will building GNUstep Make from source solve this problem?