CC = $(CROSS_COMPILE)gcc
AR = $(CROSS_COMPILE)ar
LD := $(CROSS_COMPILE)ld
RANLIB := $(CROSS_COMPILE)ranlib

HOTPLUG2_APPS_SUB_BLDDIR := $(HOTPLUG2_APPS_BLDDIR)/parser
HOTPLUG2_APPS_SUB_LIB := $(HOTPLUG2_APPS_BLDDIR)/libparser.a

LOBJS := parser.o buffer.o token.o token_queue.o lexer.o
BOBJS := $(addprefix ${HOTPLUG2_APPS_SUB_BLDDIR}/,${LOBJS})

CFLAGS := -fpic -g -Os -shared -Wall -I$(TOOLCHAIN_USRINCDIR) 
CFLAGS += -I. -DSTATIC_WORKER=1
CFLAGS += $(HOTPLUG2_APPS_CFLAGS)

all: $(HOTPLUG2_APPS_SUB_LIB)

$(HOTPLUG2_APPS_SUB_LIB): $(BOBJS)
	@$(LD) -r $(BOBJS) -o $@

clean:
	@rm -f $(BOBJS:.o=.d)
	@rm -f $(BOBJS)
	@rm -f $(HOTPLUG2_APPS_SUB_LIB)

$(HOTPLUG2_APPS_SUB_BLDDIR)/%.o: %.c
	@echo "Compiling $<"
	@$(CC) $(CFLAGS) -c $< -o $@

ifeq (,$(findstring clean,$(MAKECMDGOALS)))
-include $(addprefix ${HOTPLUG2_APPS_SUB_BLDDIR}/,$(addsuffix .d,$(basename $(LOBJS))))
$(HOTPLUG2_APPS_SUB_BLDDIR)/%.d: %.c
	-@if [ ! -d $(@D)  ]; then mkdir -p $(@D); fi
	@echo "Generating dependency file for $<"; \
	$(CC) -M $(CFLAGS) $< >$@.tmp; \
	echo "$@ \\" > $@; \
	sed 's,\($*\)\.o[ :]*,$$(HOTPLUG2_APPS_SUB_BLDDIR)\/\1.o: ,g' < $@.tmp >> $@; \
	rm -f $@.tmp
endif