#
# Makefile for TINTIN ++ 
# 

# I'm using GNU's gcc compiler. The most important is that the 
# compiler is ANSI-compatible. If gcc isn't installed on your
# system, then try change the 'gcc' below to 'cc' If 
#CC = cc -O  
CC = gcc -O

# Some people's ANSI-compiler somehow don't have the full
# ANSI-defined standard-library. Uncomment the lines below
# if your compiler don't have 'strstr'
#F1 = -DDUNNO_strstr

# Somehow people using Sun and gcc have to redefine the values
# for the macros TIOCGETP and TIOCSETP. This is really dirty 
# coding and shouldn't be nercessary(but it is sometime). So 
# comment the next line if you recieve an error from the 
# ioctl routine:
#F2 = -DDIRTY_REDEFINE

# If you are using a SYS V varient unix (IRIX <sgi>, HP/UX <hp>, Linux, etc.)
# define F3 so that term echoing will function properly.  If you are using a
# BSD varient (SunOS, 386BSD, BSD/I, FreeBSD, etc..) leave F3 commented out.
F3 = -DSYSV

# If you plan on doing debugging (with gdb), it is very helpful to turn all
# the alarms off so that you can step through the code without having to 
# jump to the ticker function.  This will also disable the internal
# tickcounter.  
#F4 = -DDEBUG

# If you get a warning message compiling net.c, uncomment this line.

F5 = -DSOCK_FIX

CFLAGS= $(F1) $(F2) $(F3) $(F4) $(F5)
LFLAGS= -s

# BINDIR is the directory you wish tt++ to be placed if you wish to use
# make install.  

BINDIR = 

# uncomment the line below for SysV/Sequent
# if your SysV system does not know all of the libraries, then remove
# the unknown ones.  (Systems that need these libraries include SolarisOS)
#LIB = -lsocket -linet -lnsl

CFILES = main.c parse.c action.c alias.c substitute.c session.c \
files.c history.c ticks.c misc.c path.c net.c llist.c utils.c echo.c \
variables.c highlight.c antisub.c ivars.c convert.c help.c \
text.c glob.c

OFILES = main.o parse.o action.o alias.o substitute.o session.o \
files.o history.o ticks.o misc.o path.o net.o llist.o utils.o echo.o \
variables.o highlight.o antisub.o ivars.o help.o text.o glob.o

tintin++: $(OFILES) 
	$(CC) $(CFLAGS) $(LFLAGS)  -o ../tt++ $(OFILES) $(LIB)

main.o: tintin.h
parse.o: tintin.h
action.o: tintin.h
alias.o: tintin.h
substitute.o: tintin.h
session.o: tintin.h
files.o: tintin.h
history.o: tintin.h
ticks.o: tintin.h
misc.o: tintin.h
path.o: tintin.h
net.o: tintin.h
llist.o: tintin.h
utils.o: tintin.h
echo.o: tintin.h
variables.o: tintin.h
highlight.o: tintin.h
antisub.o : tintin.h
ivars.o : tintin.h
help.o : tintin.h
text.o : tintin.h

clean:
	@rm -f *.o ../tt++

install: tintin++
	sh install.sh $(BINDIR)

dist: 
	sh dist.sh
