SRCDIR  = ../../..
L4DIR   = ../..
TOOLDIR = $(HOME)/ebtools
L4THREAD = $(SRCDIR)/l4thread
INCLUDE = -I$(L4DIR)/include/lib -I$(L4DIR)/include  -I$(L4THREAD)/include

CPP	= cpp
AS      = as
#LD      = ld
LD	= ld.new
DIS     = $(TOOLDIR)/clist
STRIP   = $(TOOLDIR)/astrip
MAKEDEP = $(CPP) -MM -D__GNUC__


CC	= gcc
CCFLAGS	= $(INCLUDE) -Wstrict-prototypes \
	  -O2 -fomit-frame-pointer -fno-strength-reduce -mno-fp-regs \
	  -Wall -freg-struct-return

ECHO	= echo

# Source files:
#
#   This is the only block in which the list of source files should change.
#
#	SFILES - assembler source files
#	OFILES - output files
#

SFILES  = head.S 
CFILES 	= main.c 
OFILES	= $(SFILES:.S=.o) $(CFILES:.c=.o) $(SRCDIR)/l4thread/src/alpha/thread.o #../../lib/ipc.o


.SUFFIXES:
.SUFFIXES: .S .s .c .o

.S.s:
	$(CPP) $(INCLUDE) $< > $*.s

.S.o:
	$(CPP) $(INCLUDE) $< > $*.s
	$(AS) $(ASFLAGS) -o $*.o $*.s

.c.o:
	$(CC) $(CCFLAGS) -c -o $*.o $<

user: $(OFILES)
#	$(LD) -N -T 0x220000 -o user $(OFILES)
	$(LD) -N -T linker.lds -o user $(OFILES) -L$(L4DIR)/lib -l l4 
clean:
	rm $(OFILES)

depend:
	@cat < /dev/null > makedep
	@(for i in $(SFILES) $(CFILES); do echo $$i; \
	    $(MAKEDEP) $(DEFINES) $$i |						\
		awk '{ if ($$1 != prev) {if (rec != "") print rec;		\
		    rec = $$0; prev = $$1; }					\
		    else { if (length(rec $$2) > 78) { print rec; rec = $$0; }	\
		    else rec = rec " " $$2 } }					\
		    END { print rec }' | sed 's/\.o/\.o/'			\
		    >> makedep; done)
	@echo '/^# DO NOT DELETE THIS LINE/+1,$$d' > eddep
	@echo '$$r makedep' >> eddep
	@echo 'w' >> eddep
	@cp Makefile Makefile.bak
	@ed - Makefile < eddep
	@rm -f eddep makedep
	@echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
	@echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
	@echo '# see make depend above' >> Makefile

# DO NOT DELETE THIS LINE

