###################################
# Target setting ##################

OBJ      = sls.o
SRC      = sls.c
TARGET   = sls
DEST     = /usr/local/bin/sls
VERSION  = 0.1

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

CC       = gcc
CFLAGS   = -Wall -DVERSION=\"$(VERSION)\"

###################################
# Useful programs #################

LN       = ln -s
RM       = rm -f
CI       = ci
TAR      = tar
INSTALL  = install -c
LSM      = mklsm

###################################
# Target ##########################

$(TARGET) : $(OBJ)
	$(CC) $(CFLAGS) $(OBJ) -o $(TARGET)
install : $(TARGET)
	$(INSTALL) -m 755 $(TARGET) $(DEST) 

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

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

###################################
# Deposit a revision ##############

checkpoint: 
	$(CI) -l $(SRC)

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

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

###################################
# Build a release #################

package:
	$(RM) $(TARGET)-$(VERSION)
	$(LN) . $(TARGET)-$(VERSION)
	$(TAR) -czvf $(TARGET)-$(VERSION).tar.gz $(TARGET)-$(VERSION)/{$(SRC),Makefile,README,$(LSM),COPYING}
	$(LSM) $(TARGET) $(VERSION)
