blob: 6552057af81558a72909e1e2d5a2fa546f6754f9 (
plain) (
tree)
|
|
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 $@
|