B Thomas <[EMAIL PROTECTED]> wrote:
> I changed the build rule to
>
> build: $(PROGRAMS)
> $(CC) $(CFLAGS) $(LDFLAGS) -o "$<" "$<".c
>
> Shouldn't this work ? However I still have
> the same problem.
The problem remains because make thinks like this:
1) It wants to create a file named "build". To create the file "build" it
thinks it has a command line which you have specified.
2) Before it can create "build" it will have to create $(PROGRAMS). There
is no rule that specifies how to create $(PROGRAMS) so it uses a built in
rule.
> This make file rule or something else results in :
> gcc -I/home/bt/include -L/usr/X11R6/lib -lX11 -lGL -lGLU -lm
> -L/home/bt/lib -lgltk Hello_World.c -o Hello_World
So make has a built in rule on how to build a program from a C source. If
you still want to call your target "build" the right way to do this would
be something like:
build: $(PROGRAMS)
%: %.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
Above "build" depends on $(PROGRAMS) and a custom rule has been specified
how programs are built from C source. The fact that no file named "build"
is created is no problem. This is how Makefiles are usually written.
However, the de-facto standard for the default rule is usually "all"
instead of "build", but you are free to call the rule whatever you want.
> Output of nm/ar commands is as follows :
Your output from nm and ar looks fine, once you get the right command done
by make the library will probably be usable.
regards Henrik
--
The address in the header is only to prevent spam. My real address is:
hc1(at)poolhem.se Examples of addresses which go to spammers:
[EMAIL PROTECTED] [EMAIL PROTECTED]
_______________________________________________
help-gnu-utils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-gnu-utils