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 help-gnu-utils@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnu-utils