## $Revision: 1.3 $ ## ## Unix makefile for editline library. ## ## Set your options: ## -DANSI_ARROWS ANSI arrows keys work like emacs. ## -DHAVE_STDLIB Have . ## -DHAVE_TCGETATTR Have tcgetattr(), tcsetattr(). ## -DHIDE Make static functions static (non debug). ## -DHIST_SIZE=n History size. ## -DNEED_STRDUP Don't have strdup(). ## -DUNIQUE_HISTORY Don't save command if same as last one. ## -DUSE_DIRENT Use , not ? ## -DUSE_TERMCAP Use the termcap library for terminal size ## see LDFLAGS, below, if you set this. ## -DNEED_PERROR Don't have perror() (used in testit) DEFS = -DANSI_ARROWS -DHAVE_STDLIB -DHAVE_TCGETATTR -DHIDE -DUSE_DIRENT -DSYS_UNIX -DUSE_TERMCAP ## Set your C compiler: #WARN = -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings \ # -Wunused -Wcomment -Wswitch #CC = gcc -ansi $(WARN) #CC = cc CFLAGS = $(DEFS) -O #-g # This stuff is for the Linux jump table version. CC = gcc -B/usr/bin/jump JUMP_DIR = ./jump/ JUMP_LIB = libedit LD_LIBRARY_PATH=/usr/lib:/lib:./ #The following line only works with newer versions of Make. #If Make barfs on this, comment it out. export JUMP_DIR JUMP_LIB LD_LIBRARY_PATH ADDRESS = 0x80000000 JUMPSIZE = 0x4000 GOTSIZE = 0x2000 MAJOR= 0 MINOR = 2 VERSION = $(MAJOR).$(MINOR) IMAGE = libedit ## If you have -DUSE_TERMCAP, set this as appropriate: #LDFLAGS = -ltermlib LDFLAGS = -ltermcap ## Set ranlib as appropriate: RANLIB = ranlib #RANLIB = echo ## End of configuration. SOURCES = editline.c complete.c sysunix.c version.c OBJECTS = editline.o complete.o sysunix.o version.o SHARFILES = README Makefile editline.3 editline.h unix.h editline.c \ complete.c sysunix.c testit.c \ Make.os9 os9.h sysos9.c all: libedit.a image stubs testit @echo ======= Executable 'testit' demonstrates shared libraries. @echo ======= Environment variable LD_LIBRARY_PATH must be set @echo ======= properly for example to run. @echo ======= Now running testit... ./testit image: $(IMAGE).so.$(VERSION) $(IMAGE).so.$(VERSION): $(OBJECTS) mkimage -l $(IMAGE) -v $(VERSION) -a $(ADDRESS) -j $(JUMPSIZE) -g $(GOTSIZE) -- $(OBJECTS) -ltermcap -lc `gcc --print-libgcc-file-name` -lc stubs: libedit.sa libedit.sa: mkstubs -l $(IMAGE) -v $(VERSION) -a $(ADDRESS) -j $(JUMPSIZE) -g $(GOTSIZE) -- libedit testit: testit.c libedit.a cc $(CFLAGS) -o testit testit.c libedit.sa $(LDFLAGS) shar: $(SHARFILES) shar $(SHARFILES) >shar clean: rm -f *.[oa] testit foo core tags lint lint.all a.out shar *.sa libedit.so.$(VERSION) lint: testit lint -a -b -u -x $(DEFS) $(SOURCES) testit.c >lint.all sed -e '/warning: function prototype not in scope/d' \ -e '/warning: old style argument declaration/'d \ -e '/mix of old and new style function declaration/'d \ lint libedit.a: $(OBJECTS) @rm -f $@ ar r $@ $(OBJECTS) $(RANLIB) $@ $(OBJECTS): editline.h