###########################################################################
# Compiler and Flags ######################################################

CC       = gcc
CFLAGS   = -Wall

#CFLAGS  += -DTRACE
#CFLAGS  += -g
#CFLAGS  += -pg

###########################################################################
# Auxillary Programs ######################################################

LN       = ln
LNFLAGS  = -s

RM       = rm
RMFLAGS  = -f

CP       = cp
CHMOD    = chmod
TAR      = tar
CI       = ci
CO       = co
TOUCH    = touch

###########################################################################
# Files ###################################################################

SRC      = since.c
OBJ      = since.o
TARGET   = since
MAN      = since.1

ITARGET  = /usr/local/bin/since
IMAN     = /usr/local/man/man1/since.1

###########################################################################
# Generic build all #######################################################

all: $(TARGET)

###########################################################################
# Install #################################################################

install: $(TARGET)
	$(CP) $(TARGET) $(ITARGET)
	$(CHMOD) 755 $(ITARGET)
	$(CP) $(MAN) $(IMAN)
	$(CHMOD) 755 $(IMAN)

###########################################################################
# Build since executable ##################################################

$(TARGET) : $(OBJ)
	$(CC) $(CFLAGS) $(OBJ) -o $(TARGET)

###########################################################################
# Build object files from source ##########################################

.c.o:
	$(CC) $(CFLAGS) -c $*.c

###########################################################################
# Transport - zip the entire thing ########################################

transport:
	$(TOUCH) since.c
	$(TAR) czvf since-0.1.tar.gz since-0.1/$(SRC) since-0.1/$(MAN) since-0.1/$(TARGET) since-0.1/Makefile since-0.1/README since-0.1/INSTALL since-0.1/COPYING since-0.1/since-0.1.lsm

###########################################################################
# Remove intermediate files ###############################################

clean: 
	$(RM) $(RMFLAGS) *.o core

reallyclean: clean
	$(RM) $(RMFLAGS) $(TARGET)
