# DEFINES
# MAKEDEP	=makefile
INCDIR	=../inc
CC	=gcc -g -O2 -Wall -W -fno-builtin -I$(INCDIR)
AS	=as -I$(INCDIR) --defsym UNDERBARS=1
OBJS	=setjmp/longjmp.o setjmp/setjmp.o\
	stdio/doprintf.o stdio/vsprintf.o stdio/sprintf.o\
	string/memcmp.o string/memset.o string/memcpy.o string/memsetw.o\
		string/strcpy.o string/strlen.o\
	ctype/ctype.o\
	system/disable.o system/enable.o system/inportb.o system/outportb.o

# TARGETS
all : libk.a

clean :
	del *.a
#	deltree /y $(OBJS)	# command line is too long. Got 'sed'?
	dir /s /b *.o | sed -e s/"^"/"del "/g >delobj.bat
	delobj.bat
	del delobj.bat

# IMPLICIT RULES
.c.o :
	$(CC) -c -o$@ $<

.s.o :
	$(AS) -o$@ $<

# DEPENDENCIES
#setjmp/longjmp.o : setjmp/longjmp.s $(MAKEDEP)
setjmp/longjmp.o : setjmp/longjmp.c $(MAKEDEP)

setjmp/setjmp.o : setjmp/setjmp.s $(MAKEDEP)
#
stdio/doprintf.o : stdio/doprintf.c $(MAKEDEP)

stdio/vsprintf.o : stdio/vsprintf.c $(MAKEDEP)

stdio/sprintf.o : stdio/sprintf.c $(MAKEDEP)
#
string/memcmp.o : string/memcmp.c $(MAKEDEP)

string/memcpy.o : string/memcpy.c $(MAKEDEP)

string/memset.o : string/memset.c $(MAKEDEP)

string/memsetw.o : string/memsetw.c $(MAKEDEP)

string/strcpy.o : string/strcpy.c $(MAKEDEP)

string/strlen.o : string/strlen.c $(MAKDEP)
#
ctype/ctype.o : ctype/ctype.c $(MAKEDEP)
#
system/disable.o : system/disable.c $(MAKEDEP)

system/enable.o : system/enable.c $(MAKEDEP)

system/inportb.o : system/inportb.c $(MAKEDEP)

system/outportb.o : system/outportb.c $(MAKEDEP)

# EXPLICIT RULES
libk.a : $(OBJS) $(MAKEDEP)
	ar rcs $@ $(OBJS)
