PROBLEM SUMMARY: Running make with the -n option shows that my archive file will be updated. When I run make "for real" the archive update does not occur. --------------------------------------------------------------------------- 106> make --version GNU Make version 3.78.1, by Richard Stallman and Roland McGrath. Built for i386-redhat-linux-gnu Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Report bugs to <[EMAIL PROTECTED]>. -------------------------------------------------------------------------- SAMPLE RUN 142> pwd /home/kenh/KAH/src/util 143> make -n gcc -c -O -I/home/kenh/KAH/src/include misc.c echo Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include read.c echo Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include symbol.c echo Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include scan.c echo Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include icutil.c echo Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include euler.c echo Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include iobuf.c echo Compilation Complete ar rv /home/kenh/lib/util.a misc.o read.o symbol.o scan.o icutil.o euler.o iobuf.o ranlib /home/kenh/lib/util.a echo Library Update Complete ** This is exactly what I expect. However, when I run make for real the archive update doe not take place. 144> make gcc -c -O -I/home/kenh/KAH/src/include misc.c Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include read.c Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include symbol.c Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include scan.c Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include icutil.c Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include euler.c Compilation Complete gcc -c -O -I/home/kenh/KAH/src/include iobuf.c Compilation Complete ** No archive update! I have a clone of this makefile (other than file names) in another source directory and it executes correctly on the same archive file! ------------------------------------------------------------------------ makefile: attached System: Intel Pentium 3, 730 MHz, 500 Mb memory Linux version 2.2.14-VA.2.1 ([EMAIL PROTECTED]) (gcc version egcs-2.91 .66 19990314/Linux (egcs-1.1.2 release)) Kenneth Hopping [EMAIL PROTECTED] home: 425-861-1762 work: 253-773-9071
# # makefile for General Utility functions # # K.Hopping 11/22/88 CC = gcc -c ARCH = ar rv LINK = gcc -o TOUCH = touch INCL = /usr/include PRINT = lpr DEL = rm MSG = @ echo ###### home directory HOME = util ###### object library OLIB = util.a ###### root directory ROOT = /home/kenh ###### library directory LIB = $(ROOT)/lib ###### parent directory HOST = $(ROOT)/KAH/src ###### source directory SOURCE = $(HOST)/$(HOME) ###### include directory INCLUDE = $(HOST)/include ###### target library LIBRARY = $(LIB)/$(OLIB) ###### C = $(SOURCE)/ H = $(INCLUDE)/ CFLAGS = -O HEADER = -I$(INCLUDE) FILES = misc.o read.o symbol.o scan.o icutil.o euler.o iobuf.o # # Production rules # .h : $(TOUCH) $@ .c.o : $(CC) $(CFLAGS) $(HEADER) $< $(LIBRARY) : $(LIBRARY)($(FILES)) $(ARCH) $@ $? ranlib $@ $(MSG) Library Update Complete $(LIBRARY)(%.o) : %.o $(MSG) Compilation Complete LP_ALL : $(PRINT) misc.c read.c symbol.c scan.c $(PRINT) icutil.c euler.c iobuf.c $(PRINT) $(H)iodef.h $(H)symdef.h # ## Dependencies # misc.o : misc.c misc.o : $(H)compile.h $(H)glob.h $(H)err.h read.o : read.c read.o : $(H)compile.h $(H)glob.h $(H)err.h symbol.o : symbol.c symbol.o : $(H)compile.h $(H)glob.h $(H)err.h $(H)symdef.h scan.o : scan.c scan.o : $(H)compile.h $(H)glob.h $(H)err.h $(INCL)/math.h icutil.o : icutil.c icutil.o : $(H)compile.h $(H)glob.h $(H)type.h euler.o : euler.c euler.o : $(H)compile.h $(H)glob.h $(H)type.h iobuf.o : iobuf.c iobuf.o : $(H)compile.h $(H)iodef.h