home *** CD-ROM | disk | FTP | other *** search
Makefile | 1994-08-03 | 2.8 KB | 98 lines |
- ## $Revision: 1.3 $
- ##
- ## Unix makefile for editline library.
- ##
-
- ## Set your options:
- ## -DANSI_ARROWS ANSI arrows keys work like emacs.
- ## -DHAVE_STDLIB Have <stdlib.h>.
- ## -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 <dirent.h>, not <sys/dir.h>?
- ## -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.all >lint
-
- libedit.a: $(OBJECTS)
- @rm -f $@
- ar r $@ $(OBJECTS)
- $(RANLIB) $@
-
- $(OBJECTS): editline.h
-