# Makefile for Joe's Own Editor ############### # Configuration ############### # Set where you want joe to go, where you # want joe's initialization file (joerc) # to go and where you want the man page # to go: WHEREJOE = /usr/bin WHERERC = /usr/lib/joe WHEREMAN = /usr/man/man1 # If you want to use TERMINFO, you have to set # the following variable to 1. Also you have to # include some additional libraries- see below. TERMINFO = 0 # You may also have to add some additional # defines to get the include files to work # right on some systems. # # for some HPUX systems, you need to add: -D_HPUX_SOURCE # C compiler options: make's built-in rules use this variable CFLAGS = -O -D_MINIX -wo -fsoft # Loader options LDFLAGS = -fsoft # C compiler to use: make's built-in rules use this variable CC = cc # You may have to include some extra libraries # for some systems # # for Xenix, add (in this order!!): -ldir -lx # # For some systems you might have to add: -lbsd # to get access to the timer system calls. # # If you wish to use terminfo, you have to # add '-ltinfo', '-lcurses' or '-ltermlib', # depending on the system. EXTRALIBS = # Object files OBJS = b.o blocks.o bw.o cmd.o hash.o help.o kbd.o macro.o main.o menu.o \ path.o poshist.o pw.o queue.o qw.o random.o rc.o regex.o scrn.o tab.o \ termcap.o tty.o tw.o ublock.o uedit.o uerror.o ufile.o uformat.o uisrch.o \ umath.o undo.o usearch.o ushell.o utag.o va.o vfile.o vs.o w.o zstr.o # That's it! # How to make joe from object files. Object files are made from source # files using make's built-in rules. joe: $(OBJS) $(CC) $(LDFLAGS) -o $@ $(OBJS) $(EXTRALIBS) # All object files depend on config.h $(OBJS): config.h # How to make config.h config.h: $(CC) $(CFLAGS) $(LDFLAGS) conf.c -o conf ./conf $(WHERERC) $(TERMINFO) # How to make termidx termidx: termidx.o $(CC) $(CFLAGS) -o termidx termidx.o # Install proceedure install: \ $(WHEREJOE)/joe $(WHEREJOE)/jmacs $(WHEREJOE)/jstar \ $(WHEREJOE)/rjoe $(WHEREJOE)/jpico \ $(WHERERC) \ $(WHERERC)/joerc $(WHERERC)/jmacsrc $(WHERERC)/jstarrc \ $(WHERERC)/rjoerc $(WHERERC)/jpicorc \ $(WHEREMAN)/joe.1 $(WHEREJOE)/joe: joe install -lc $? $@ $(WHEREJOE)/jmacs $(WHEREJOE)/jstar \ $(WHEREJOE)/rjoe $(WHEREJOE)/jpico: $(WHEREJOE)/joe install -l $? $@ $(WHERERC): install -d $@ $(WHERERC)/joerc: joerc install -c $? $@ $(WHERERC)/jmacsrc: jmacsrc install -c $? $@ $(WHERERC)/jstarrc: jstarrc install -c $? $@ $(WHERERC)/rjoerc: rjoerc install -c $? $@ $(WHERERC)/jpicorc: jpicorc install -c $? $@ $(WHEREMAN)/joe.1: joe.1 install -lc $? $@ #install: joe termidx # strip joe # strip termidx # if [ ! -d $(WHEREJOE) ]; then mkdir $(WHEREJOE); chmod a+rx $(WHEREJOE); fi # rm -f $(WHEREJOE)/joe $(WHEREJOE)/jmacs $(WHEREJOE)/jstar $(WHEREJOE)/jpico $(WHEREJOE)/rjoe $(WHEREJOE)/termidx # mv joe $(WHEREJOE) # ln $(WHEREJOE)/joe $(WHEREJOE)/jmacs # ln $(WHEREJOE)/joe $(WHEREJOE)/jstar # ln $(WHEREJOE)/joe $(WHEREJOE)/rjoe # ln $(WHEREJOE)/joe $(WHEREJOE)/jpico # mv termidx $(WHEREJOE) # if [ ! -d $(WHERERC) ]; then mkdir $(WHERERC); chmod a+rx $(WHERERC); fi # rm -f $(WHERERC)/joerc $(WHERERC)/jmacsrc $(WHERERC)/jstarrc $(WHERERC)/jpicorc $(WHERERC)/rjoerc $(WHEREMAN)/joe.1 # cp joerc $(WHERERC) # cp jmacsrc $(WHERERC) # cp jstarrc $(WHERERC) # cp rjoerc $(WHERERC) # cp jpicorc $(WHERERC) # cp joe.1 $(WHEREMAN) # chmod a+x $(WHEREJOE)/joe # chmod a+x $(WHEREJOE)/jmacs # chmod a+x $(WHEREJOE)/jstar # chmod a+x $(WHEREJOE)/rjoe # chmod a+x $(WHEREJOE)/jpico # chmod a+r $(WHERERC)/joerc # chmod a+r $(WHERERC)/jmacsrc # chmod a+r $(WHERERC)/jstarrc # chmod a+r $(WHERERC)/rjoerc # chmod a+r $(WHERERC)/jpicorc # chmod a+r $(WHEREMAN)/joe.1 # chmod a+x $(WHEREJOE)/termidx # rm -f $(WHERERC)/termcap # cp termcap $(WHERERC)/termcap # chmod a+r $(WHERERC)/termcap # rm -f $(WHERERC)/terminfo # cp terminfo $(WHERERC)/terminfo # chmod a+r $(WHERERC)/terminfo # Cleanup proceedure clean: rm -f $(OBJS) termidx.o conf conf.o config.h termidx joe