#
#  Makefile for the Assembler
#

CC = gcc
CFLAGS = -g -O2 -Wall
PROGRAM = asm
HEADERS = *.h
SOURCE  = assemble.c bits.c dblarray.c errors.c intarray.c main.c names.c \
	  parse.c print.c ptrarray.c strarray.c tokenise.c utilfast.c valid.c
OBJECTS = assemble.o bits.o dblarray.o errors.o intarray.o main.o names.o \
	  parse.o print.o ptrarray.o strarray.o tokenise.o utilfast.o valid.o
INSTALLDIR = /home/loki/bin
INSTALLDIR2 = /n/black/usr/cs3/cs3/se/projtest

TIMESTAMP = `date +%Y-%m-%d`

all:	$(PROGRAM)

$(PROGRAM):	$(OBJECTS) $(HEADERS)
	$(CC) $(CFLAGS) $(OBJECTS) -o $(PROGRAM)

valid.c:	valid.txt
	genvalid.py

debug:	$(SOURCE) $(HEADERS)
	$(CC) $(CFLAGS) -DDEBUG -pg $(SOURCE) -o $(PROGRAM)

install: $(PROGRAM)
	cp $(PROGRAM) $(INSTALLDIR)

install2: $(PROGRAM)
	strip $(PROGRAM)
	rm -f $(INSTALLDIR2)/$(PROGRAM)
	cp $(PROGRAM) $(INSTALLDIR2)
	chmod 111 $(INSTALLDIR2)/$(PROGRAM)
	ls -la $(INSTALLDIR2)

tarfile:
	tar -cf $(PROGRAM)-src-$(TIMESTAMP).tar *.c *.h makefile *.py *.txt
	gzip -f $(PROGRAM)-src-$(TIMESTAMP).tar

backup:
	tarfile
	mv $(PROGRAM)-$(TIMESTAMP).tar.gz ../archive

zipfile:
	zip -k $PROGRAM).zip *.c *.h makefile *.py *.txt

clean:
	rm -f *.o core gmon.out $(PROGRAM)

