The following is part of a make file to update a library. The source files for the library reside in multiple directories with each directory responsible to make it's modules and place them in the library. The problem I'm having is with the $? variable, it is supposed to contain a list of all prerequisites that are newer the target. When the library does not exist everything works as expected. If the library does exist but the specific module does not the module gets compiled but is not included in $? and so is not placed in the library. LIBROOT = mylib.a LIBRARY = ../$(PLATFORM)/$(LIBROOT) OBJS = file1.o \ file2.o \ file3.o LIBOBJS = $(OBJS:%=$(LIBRARY)(%)) $(LIBRARY): $(LIBOBJS) $(AR) r $@ $? $(RM) $? (%.o): %.c $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $*.o ____________________________________________ Robert E. Menteer II Senior Programmer/Analyst wmsVision, Inc. (http://www.wmsvision.com) 1016 Copeland Oak Drive, Morrisville, NC 27560, USA. Tel: (919) 863-3388 ext. 225 Fax: (919) 863-3389 E-mail: mailto:[EMAIL PROTECTED] _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make