diff options
Diffstat (limited to 'libtecla-1.6.3/Makefile.rules')
-rw-r--r-- | libtecla-1.6.3/Makefile.rules | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/libtecla-1.6.3/Makefile.rules b/libtecla-1.6.3/Makefile.rules new file mode 100644 index 0000000..0cf2316 --- /dev/null +++ b/libtecla-1.6.3/Makefile.rules @@ -0,0 +1,169 @@ +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 $@ |