#---------------------------------------------------------------------- # mkcatdefs makefile # # Things that can be made: # libs: object library # mkcatdefs: executable application and object library if necessary # # Modification History # # Mnemonic Release Date Who Review # # NLSTOOLS victor 92jan09 Mike Tardif # Created. # # HPUXPORT tools 95mar21 Weibo Wang # Replaced ranlib with flag $(RANLIB) # # ID: $RCSfile: makefile.mkcatdefs $ $Revision: 4.3 $ $Date: 1997/02/11 18:52:49 $ $Author: greg $ #---------------------------------------------------------------------- # Define root directory ROOT = /ams # Production compile flags. # Override with "CF = -g" for debugging. CF = -O CFLAGS = -I$(SRC) -I$(ROOT) $(LOCAL_DEV_ENV) $(CF) # Library name and its constituents. RANLIB = echo LIB = $(ROOT)/lib/$(ARCH)/mkcatdefs.a LIBOBJ = \ $(LIB)(main.o) \ $(LIB)(msf.o) \ $(LIB)(args.o) \ $(LIB)(msg.o) LIBS = # If you want to force object files in for debugging, override # DEBUG in the command line. For example: # make DEBUG=./win.o mkcatdefs DEBUG = all: libs mkcatdefs libs: $(LIB) # Make executable application mkcatdefs: $(ROOT)/bin/$(ARCH)/mkcatdefs $(LIBS) $(ROOT)/bin/$(ARCH)/mkcatdefs: $(DEBUG) $(LIB) $(LIBS) cd $(LOCAL); ar xv $(LIB) main.o; \ $(CC) $(CF) main.o $(DEBUG) $(LIB) $(LIBS) $(LD_OPTS) \ -o $(ROOT)/bin/$(ARCH)/mkcatdefs; \ rm -f main.o # Make object library. $(LIB):: $(LIBOBJ) @cd $(LOCAL); \ for i in $(?:.o=); \ do echo $(CC) -c $(CFLAGS) $(SRC)/$$i.c; \ $(CC) -c $(CFLAGS) $(SRC)/$$i.c; \ done; \ ar rv $(LIB) $?; $(RANLIB) $(LIB); rm -f $? .c.a:; # Header file dependencies. $(LIB)(main.o): \ $(ROOT)/src/mkcatdefs/mkcatdefs.h $(LIB)(msf.o): \ $(ROOT)/src/mkcatdefs/mkcatdefs.h $(LIB)(args.o): \ $(ROOT)/src/mkcatdefs/mkcatdefs.h $(LIB)(msg.o): \ $(ROOT)/src/mkcatdefs/mkcatdefs.h # Don't remove library. .PRECIOUS: $(LIB) $(ROOT)/bin/$(ARCH)/mkcatdefs