default: $(OBJDIR) $(TARGETS) $(DEMOS) $(PROGRAMS) #----------------------------------------------------------------------- # You shouldn't need to change anything in this file. #----------------------------------------------------------------------- # Create the directory in which the object files will be created. $(OBJDIR): mkdir $(OBJDIR) # Construct the compilation command. COMPILE = $(CC) -c $(CFLAGS) -o $@ LIB_OBJECTS = $(OBJDIR)/getline.o $(OBJDIR)/keytab.o $(OBJDIR)/freelist.o \ $(OBJDIR)/strngmem.o $(OBJDIR)/hash.o $(OBJDIR)/history.o \ $(OBJDIR)/direader.o $(OBJDIR)/homedir.o $(OBJDIR)/pathutil.o \ $(OBJDIR)/expand.o $(OBJDIR)/stringrp.o $(OBJDIR)/cplfile.o \ $(OBJDIR)/cplmatch.o $(OBJDIR)/pcache.o $(OBJDIR)/version.o \ $(OBJDIR)/chrqueue.o $(OBJDIR)/ioutil.o $(OBJDIR)/errmsg.o # List the available demonstration programs. DEMO_PROGS = demo$(SUFFIX) demo2$(SUFFIX) demo3$(SUFFIX) # List all of the programs that this makefile can build. PROGS = $(DEMO_PROGS) enhance$(SUFFIX) static: libtecla$(SUFFIX).a libtecla$(SUFFIX).a: $(LIB_OBJECTS) $(AR) -ru $@ $(LIB_OBJECTS); \ $(RANLIB) $@; \ rm -f $(PROGS) shared: libtecla$(SUFFIX)$(SHARED_EXT) libtecla$(SUFFIX)$(SHARED_EXT): $(LIB_OBJECTS) $(srcdir)/libtecla.map \ libtecla.map.opt $(LINK_SHARED) @endings="$(SHARED_ALT)" ; \ for alt in $$endings ; do \ lnk="libtecla$(SUFFIX)$$alt"; \ echo "rm -f $$lnk; $(LN_S) $@ $$lnk"; \ rm -f $$lnk; $(LN_S) $@ $$lnk; \ done; \ rm -f $(PROGS) libtecla.map.opt: $(srcdir)/libtecla.map sed -n 's/^[ ]*\([_a-zA-Z0-9]*\)[ ]*;.*/+e \1/p' $? >$@ demos: $(DEMO_PROGS) demo$(SUFFIX): $(OBJDIR)/demo.o $(TARGETS) LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \ $(OBJDIR)/demo.o -L. -ltecla$(SUFFIX) $(LIBS) demo2$(SUFFIX): $(OBJDIR)/demo2.o $(TARGETS) LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \ $(OBJDIR)/demo2.o -L. -ltecla$(SUFFIX) $(LIBS) demo3$(SUFFIX): $(OBJDIR)/demo3.o $(TARGETS) LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \ $(OBJDIR)/demo3.o -L. -ltecla$(SUFFIX) $(LIBS) enhance$(SUFFIX): $(OBJDIR)/enhance.o $(TARGETS) LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \ $(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS) #----------------------------------------------------------------------- # Object file dependencies. #----------------------------------------------------------------------- $(OBJDIR)/getline.o: $(srcdir)/getline.c $(srcdir)/pathutil.h \ $(srcdir)/libtecla.h $(OBJDIR)/keytab.h $(srcdir)/history.h \ $(srcdir)/freelist.h $(srcdir)/stringrp.h $(srcdir)/getline.h \ $(srcdir)/ioutil.h $(srcdir)/chrqueue.h $(srcdir)/cplmatch.h \ $(srcdir)/expand.h $(srcdir)/errmsg.h $(COMPILE) $(srcdir)/getline.c $(OBJDIR)/keytab.o: $(srcdir)/keytab.c $(OBJDIR)/keytab.h \ $(srcdir)/strngmem.h $(srcdir)/getline.h $(srcdir)/errmsg.h \ $(srcdir)/hash.h $(COMPILE) $(srcdir)/keytab.c $(OBJDIR)/strngmem.o: $(srcdir)/strngmem.c $(srcdir)/strngmem.h \ $(srcdir)/freelist.h $(COMPILE) $(srcdir)/strngmem.c $(OBJDIR)/freelist.o: $(srcdir)/freelist.c $(srcdir)/freelist.h $(COMPILE) $(srcdir)/freelist.c $(OBJDIR)/hash.o: $(srcdir)/hash.c $(srcdir)/hash.h $(srcdir)/strngmem.h \ $(srcdir)/freelist.h $(COMPILE) $(srcdir)/hash.c $(OBJDIR)/history.o: $(srcdir)/history.c $(srcdir)/ioutil.h \ $(srcdir)/history.h $(srcdir)/freelist.h $(srcdir)/errmsg.h $(COMPILE) $(srcdir)/history.c $(OBJDIR)/expand.o: $(srcdir)/expand.c $(srcdir)/freelist.h \ $(srcdir)/direader.h $(srcdir)/pathutil.h $(srcdir)/homedir.h \ $(srcdir)/stringrp.h $(srcdir)/libtecla.h $(srcdir)/ioutil.h \ $(srcdir)/expand.h $(srcdir)/errmsg.h $(COMPILE) $(srcdir)/expand.c $(OBJDIR)/direader.o: $(srcdir)/direader.c $(srcdir)/direader.h \ $(srcdir)/errmsg.h $(COMPILE) $(srcdir)/direader.c $(OBJDIR)/homedir.o: $(srcdir)/homedir.c $(srcdir)/pathutil.h \ $(srcdir)/homedir.h $(srcdir)/errmsg.h $(COMPILE) $(srcdir)/homedir.c $(OBJDIR)/pathutil.o: $(srcdir)/pathutil.c $(srcdir)/pathutil.h $(COMPILE) $(srcdir)/pathutil.c $(OBJDIR)/stringrp.o: $(srcdir)/stringrp.c $(srcdir)/freelist.h \ $(srcdir)/stringrp.h $(COMPILE) $(srcdir)/stringrp.c $(OBJDIR)/cplfile.o: $(srcdir)/cplfile.c $(srcdir)/libtecla.h \ $(srcdir)/direader.h $(srcdir)/homedir.h $(srcdir)/pathutil.h \ $(srcdir)/cplfile.h $(srcdir)/errmsg.h $(COMPILE) $(srcdir)/cplfile.c $(OBJDIR)/cplmatch.o: $(srcdir)/cplmatch.c $(srcdir)/libtecla.h \ $(srcdir)/ioutil.h $(srcdir)/stringrp.h $(srcdir)/pathutil.h \ $(srcdir)/cplfile.h $(srcdir)/cplmatch.h $(srcdir)/errmsg.h $(COMPILE) $(srcdir)/cplmatch.c $(OBJDIR)/pcache.o: $(srcdir)/pcache.c $(srcdir)/libtecla.h \ $(srcdir)/pathutil.h $(srcdir)/homedir.h $(srcdir)/freelist.h \ $(srcdir)/direader.h $(srcdir)/stringrp.h $(errmsg.h) $(COMPILE) $(srcdir)/pcache.c $(OBJDIR)/demo.o: $(srcdir)/demo.c $(srcdir)/libtecla.h $(COMPILE) $(srcdir)/demo.c $(OBJDIR)/demo2.o: $(srcdir)/demo2.c $(srcdir)/libtecla.h $(COMPILE) $(srcdir)/demo2.c $(OBJDIR)/demo3.o: $(srcdir)/demo3.c $(srcdir)/libtecla.h $(COMPILE) $(srcdir)/demo3.c $(OBJDIR)/version.o: $(srcdir)/version.c $(srcdir)/libtecla.h $(COMPILE) $(srcdir)/version.c $(OBJDIR)/enhance.o: $(srcdir)/enhance.c $(srcdir)/libtecla.h $(COMPILE) $(srcdir)/enhance.c $(OBJDIR)/chrqueue.o: $(srcdir)/chrqueue.c $(srcdir)/ioutil.h \ $(srcdir)/chrqueue.h $(srcdir)/freelist.h $(srcdir)/errmsg.h $(COMPILE) $(srcdir)/chrqueue.c $(OBJDIR)/ioutil.o: $(srcdir)/ioutil.c $(srcdir)/ioutil.h $(COMPILE) $(srcdir)/ioutil.c $(OBJDIR)/errmsg.o: $(srcdir)/errmsg.c $(srcdir)/errmsg.h $(COMPILE) $(srcdir)/errmsg.c #----------------------------------------------------------------------- # Include file dependencies. #----------------------------------------------------------------------- $(OBJDIR)/keytab.h: $(srcdir)/keytab.h $(srcdir)/libtecla.h cp $(srcdir)/keytab.h $@