# files 
SRCS =		rmgr_stubs.c mem_lock.c oskit_support.c
TARGET =	../liboskit_support.a

# directories 
OSKIT = 	../../../../oskit

# headers 
INC_DIRS =	-I../include \
		-I../../../lib/libl4sys/include \
		-I../../librmgr/include \
		-I$(OSKIT) -I$(OSKIT)/flux/c

# flags 
CFLAGS=		-nostdinc -g -O2 -m486 \
		-malign-loops=2 -malign-jumps=2 -malign-functions=2 \
		-pipe -Wall -Wstrict-prototypes -D__L4_VERSION_X__

# tools 
CC =	gcc
AS=	as
LD=	ld
AR=	ar
SIZE=	size
RM=	rm -f
STRIP=	strip
CP=	cp

# make flags
VERB =
#VERB = @

comp_message=echo -e "  ... Making $@"
link_message=echo -e "  ==> Linking $@"

# rules
OBJS =	$(SRCS:.c=.o)
DEPS =	$(SRCS:.c=.d)

all : $(TARGET)

$(TARGET) : $(DEPS) $(OBJS)
	@$(link_message)
	$(VERB)$(RM) $(TARGET)
	$(VERB)$(AR) rcs $(TARGET) $(OBJS)

clean ::
	$(VERB)$(RM) core *.o *~ $(TARGET) 
	$(VERB)$(RM) *.d

depend : $(DEPS)

%.d:	%.c
	@$(SHELL) -ec \
		'$(CC) -M $(INC_DIRS) $< | sed '\''s#$*.o#& $*.s $*.E $@#g'\'' > $@'

%.o:	%.c
	@$(comp_message)
	$(VERB)$(CC) $(CFLAGS) $(INC_DIRS) -c $<

%.s:	%.c
	@$(comp_message)
	$(VERB)$(CC) $(CFLAGS) $(INC_DIRS) -S $<

%.E:	%.c
	@$(comp_message)
	$(VERB)$(CC) $(CFLAGS) $(INC_DIRS) -E $< > $@

%.o:	%.S
	@$(comp_message)
	$(VERB)$(CC) $(CFLAGS) $(INC_DIRS) -c $<

%:	%.o 
	@$(link_message)
	$(VERB)$(LD) -o $@ crt0.o $< 

ifneq ($(wildcard *.d),)
include *.d
endif
