
# -------------------------------------------------------------------
# make kernel
# -------------------------------------------------------------------

COMPILE_DIR	=

CLEANS		= $(wildcard *.o) $(wildcard *.i) $(wildcard *.s)
PREPARES	= $(wildcard *.h)
OBJECTS		= $(OBJECTS_C) $(OBJECTS_S)
OBJECTS_C	= $(patsubst %.c, %.o, $(wildcard *.c))
OBJECTS_S	= $(patsubst %.S, %.o, $(wildcard *.S))
SCHED_POLICY	= -DSCHED_DRR #-DSCHED_FPS or -DSCHED_EDF 
CFLAGS		= -W -Wall --save-temps -nostdinc -I$(INCLUDE_DIR) $(SCHED_POLICY)

# -------------------------------------------------------------------

clean :
	@for dir in $(COMPILE_DIR); do make -C $$dir clean; done
	rm -rf $(CLEANS)

prepare :
	@for dir in $(COMPILE_DIR); do make -C $$dir prepare; done
	cp $(PREPARES) $(INCLUDE_DIR)/kernel

compile :	$(OBJECTS)
	@for dir in $(COMPILE_DIR); do make -C $$dir compile || exit 1; done
	cp $(OBJECTS) $(OUTPUT_DIR)

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

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

