diff options
Diffstat (limited to 'libtecla-1.4.1/Makefile.rules')
-rw-r--r-- | libtecla-1.4.1/Makefile.rules | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/libtecla-1.4.1/Makefile.rules b/libtecla-1.4.1/Makefile.rules new file mode 100644 index 0000000..6552057 --- /dev/null +++ b/libtecla-1.4.1/Makefile.rules @@ -0,0 +1,142 @@ +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 + +# List all of the programs that this makefile can build. + +PROGS = demo$(SUFFIX) demo2$(SUFFIX) 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$(SUFFIX) demo2$(SUFFIX) + +demo$(SUFFIX): $(OBJDIR)/demo.o + LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \ + $(OBJDIR)/demo.o -L. -ltecla$(SUFFIX) $(LIBS) + +demo2$(SUFFIX): $(OBJDIR)/demo2.o + LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \ + $(OBJDIR)/demo2.o -L. -ltecla$(SUFFIX) $(LIBS) + +enhance$(SUFFIX): $(OBJDIR)/enhance.o + 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 + $(COMPILE) $(srcdir)/getline.c + +$(OBJDIR)/keytab.o: $(srcdir)/keytab.c $(OBJDIR)/keytab.h \ + $(srcdir)/strngmem.h $(srcdir)/getline.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)/history.h \ + $(srcdir)/freelist.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 + $(COMPILE) $(srcdir)/expand.c + +$(OBJDIR)/direader.o: $(srcdir)/direader.c $(srcdir)/direader.h + $(COMPILE) $(srcdir)/direader.c + +$(OBJDIR)/homedir.o: $(srcdir)/homedir.c $(srcdir)/pathutil.h \ + $(srcdir)/homedir.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 + $(COMPILE) $(srcdir)/cplfile.c + +$(OBJDIR)/cplmatch.o: $(srcdir)/cplmatch.c $(srcdir)/libtecla.h \ + $(srcdir)/stringrp.h $(srcdir)/pathutil.h $(srcdir)/cplfile.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 + $(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)/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 + +#----------------------------------------------------------------------- +# Include file dependencies. +#----------------------------------------------------------------------- + +$(OBJDIR)/keytab.h: $(srcdir)/keytab.h $(srcdir)/libtecla.h \ + $(srcdir)/hash.h $(srcdir)/strngmem.h + cp $(srcdir)/keytab.h $@ |