# ********************************************************************
# Macro Specifics.
# ********************************************************************
SRC_C   = $(wildcard *.c)
SRC_S   = $(wildcard *.S)

ifeq ($(Rescue_Source), NULL)
  FILTER_FILES = shell_rescue_inflash.c
endif

ifeq ($(Linux_Source), FLASH)
  FILTER_FILES += shell_kernel_inhdd.c
else
  FILTER_FILES += shell_kernel_inflash.c
endif

SRC1_C  = $(filter-out $(FILTER_FILES), $(SRC_C))

SRC     = $(SRC1_C) $(SRC_S)

OBJ_C   =  $(patsubst %.c, %.o, $(SRC1_C))
OBJ_S   = $(patsubst %.S, %.o, $(SRC_S))
OBJ     = $(OBJ_C) $(OBJ_S)

# ********************************************************************
# Compile Directives.
# ********************************************************************
all: $(OBJ_C) $(OBJ_S)
	
$(OBJ_C) : %.o : %.c 
	$(CC) -c $(CFLAG) $(CDEF) $(INCLUDE) -o $(OBJ_DIR)/$@ $<

$(OBJ_S) : %.o : %.S
	$(CC) -c $(AFLAG) $(ADEF) $(INCLUDE) -o $(OBJ_DIR)/$@ $<
