help-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Make: puzzeling make behaviour ?


From: B Thomas
Subject: Make: puzzeling make behaviour ?
Date: 18 Feb 2007 22:37:46 GMT
User-agent: slrn/0.9.8.1 (Debian)

Hi,

I am trying to compile a simple program that use a static library in
~/lib with corresponding include file in ~/include. My LD_LIBRARY_PATH
includes ~/lib. Here is the Makefile

------------------------------------------------------------------
CC=gcc
GLLIB=-lGL
GLULIB=-lGLU
GUILIBS=-L/usr/X11R6/lib -lX11
OTHRLIBS=-lm
GLTKPATH=/home/bt
GLTKLIB=-L$(GLTKPATH)/lib -lgltk
GLTKINC=-I$(GLTKPATH)/include

CFLAGS=$(GLTKINC)
LDFLAGS=$(GUILIBS) $(GLLIB) $(GLULIB) $(OTHRLIBS) $(GLTKLIB)

SRCFILES=$(wildcard *.c)
OBJFILES=$(patsubst %.c,%.o, $(SRCFILES))
PROGRAMS=$(patsubst %.c,%, $(SRCFILES))

build:  $(PROGRAMS)
        $(CC) $(CFLAGS) $(LDFLAGS) -o "$@" "$<"
        
clean:
        rm -f $(PROGRAMS)
-------------------------------------------------------------------

However the compilation fails even though all the paths in this makefile
are correct, gcc can not find symbols defined in libgltk.a . Also
if I try to change the gcc command line and then run make again it 
does not run the changed version of the command !!! I am baffled.
For instance if I surround the LDFLAGS argument with -Wl, --startgroup
and -Wl, --endgroup and run make, these don't appear in the echoed
command line. Of for that matter if I change the order of any of the 
gcc arguments, on executing make the changed order is not reflected
in the echoed command line. In my working directory I only have two
files : a c program and the Makefile. My make version is 3.80 and
gcc version is 3.3.5 and I am using Debian/Sarge. Using vim's
"set list" feature I can ensure there are not extraneous characters
in the make file and tabs/newlines are where they should be.

Would be grateful for you suggestions.

regards
b thomas



reply via email to

[Prev in Thread] Current Thread [Next in Thread]