# $Id$

include $(TOPDIR)/rules.mk

TARGETS:=	paxmirabilis sed ipkg-utils brcm-utils lzma
TARGETS+=	squashfs

TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))

all: install
install: check-pax $(TARGETS_INSTALL)
clean: $(TARGETS_CLEAN)

check-pax:
	@[ -e ${TOPDIR}/lbin/pax ] || \
	    rm -f $(TOOLS_STAMP_DIR)/.tools_paxmirabilis-install

$(STAGING_DIR):
	@mkdir -p $(STAGING_DIR)/lib
	@mkdir -p $(STAGING_DIR)/include

$(TOOLS_STAMP_DIR):
	@mkdir -p $(TOOLS_STAMP_DIR)

$(TOOLS_BUILD_DIR):
	@mkdir -p $(TOOLS_BUILD_DIR)

%-prepare: $(TOOLS_BUILD_DIR) $(TOOLS_STAMP_DIR)
	@[ -f $(TOOLS_STAMP_DIR)/.tools_$@ ] || { \
		$(TRACE) tools/$(patsubst %-prepare,%,$@)/prepare; \
			$(MAKE) -C $(patsubst %-prepare,%,$@) prepare \
			    CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
			    $(MAKE_TRACE); \
	}
	@touch $(TOOLS_STAMP_DIR)/.tools_$@

%-compile: %-prepare 
	@[ -f $(TOOLS_STAMP_DIR)/.tools_$@ ] || { \
		$(TRACE) tools/$(patsubst %-compile,%,$@)/compile; \
		$(MAKE) -C $(patsubst %-compile,%,$@) compile \
		    CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
		    $(MAKE_TRACE); \
	}
	@touch $(TOOLS_STAMP_DIR)/.tools_$@

%-install: %-compile
	@[ -f $(TOOLS_STAMP_DIR)/.tools_$@ ] || { \
		$(TRACE) tools/$(patsubst %-install,%,$@)/install; \
		$(MAKE) -C $(patsubst %-install,%,$@) install \
		    CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
		    $(MAKE_TRACE); \
	}
	@touch $(TOOLS_STAMP_DIR)/.tools_$@

%-clean:
	$(TRACE) tools/$(patsubst %-clean,%,$@)/clean
	@$(MAKE) -C $(patsubst %-clean,%,$@) clean $(MAKE_TRACE)
	@rm -f $(TOOLS_STAMP_DIR)/.tools_$(patsubst %-clean,%,$@)-*
