#
# Build klcc
#

always := $(KLIBCCROSS)klcc

$(obj)/$(KLIBCCROSS)klibc.config: $(src)/Kbuild \
				  $(srctree)/Makefile \
                                  $(srctree)/scripts/Kbuild.klibc
	@echo "  GEN     $@"
	$(Q)rm -f $@
	$(Q)echo 'ARCH=$(KLIBCARCH)' >> $@
	$(Q)echo 'ARCHDIR=$(KLIBCARCHDIR)' >> $@
	$(Q)echo 'CROSS=$(KLIBCROSS)' >> $@
	$(Q)echo 'KCROSS=$(KCROSS)' >> $@
	$(Q)echo 'CC=$(KLIBCCC)' >> $@
	$(Q)echo 'LD=$(KLIBCLD)' >> $@
	$(Q)echo 'REQFLAGS=$(filter-out -I%,$(KLIBCDEFS) $(KLIBCREQFLAGS) $(KLIBCARCHREQFLAGS) $(KLIBCCPPFLAGS))' >> $@
	$(Q)echo 'OPTFLAGS=$(KLIBCOPTFLAGS)' >> $@
	$(Q)echo 'LDFLAGS=$(KLIBCLDFLAGS)' >> $@
	$(Q)echo 'STRIP=$(KLIBCSTRIP)' >> $@
	$(Q)echo 'STRIPFLAGS=$(KLIBCSTRIPFLAGS)' >> $@
	$(Q)echo 'EMAIN=$(KLIBCEMAIN)' >> $@
	$(Q)echo 'BITSIZE=$(KLIBCBITSIZE)' >> $@
	$(Q)echo 'VERSION=$(shell cat $(srctree)/usr/klibc/version)' >> $@
	$(Q)echo 'prefix=$(INSTALLDIR)' >> $@
	$(Q)echo 'bindir=$(INSTALLDIR)/$(KCROSS)bin' >> $@
	$(Q)echo 'libdir=$(INSTALLDIR)/$(KCROSS)lib' >> $@
	$(Q)echo 'includedir=$(INSTALLDIR)/$(KCROSS)include' >> $@


# Generate klcc
targets := $(KLIBCCROSS)klcc

quiet_cmd_klcc = GEN     $@
      cmd_klcc = $(PERL) $< $(srctree)/$(src)/klcc.in \
                            $(obj)/$(KLIBCCROSS)klibc.config \
                            $(shell bash -c 'type -p $(PERL)') \
			      > $@ || ( rm -f $@ ; exit 1 ) && \
			      chmod a+x $@
$(obj)/$(KLIBCCROSS)klcc: $(src)/makeklcc.pl $(src)/klcc.in \
                          $(obj)/$(KLIBCCROSS)klibc.config
	$(call if_changed,klcc)

# Cleaning targets
clean-files := $(KLIBCCROSS)klibc.config $(KLIBCCROSS)klcc
