top_srcdir ?= ../../ ifdef O top_builddir ?= ../../ else top_builddir = ../../ endif include $(top_srcdir)Rules.mak include $(top_srcdir)Makerules # ugh top_srcdir:=$(shell cd $(top_srcdir) && pwd)/ src := extra/config obj := $(top_builddir)$(src) generated := $(patsubst %_shipped,%,$(wildcard *_shipped)) generated := $(addprefix $(obj)/,$(generated:.c=.o)) include $(top_srcdir)extra/config/Makefile.kconfig HOST_EXTRACFLAGS += -DCONFIG_='""' # do not create temporary object in the readonly srctree $(obj)/dochecklxdialog: CONFIG_SHELL:=cd $(obj) && $(CONFIG_SHELL) HOSTCFLAGS_zconf.lex.o := -I$(top_srcdir)$(src) HOSTCFLAGS_zconf.tab.o := -I$(top_srcdir)$(src) conf-objs := $(addprefix $(obj)/,$(conf-objs)) mconf-objs := $(addprefix $(obj)/,$(mconf-objs)) nconf-objs := $(addprefix $(obj)/,$(nconf-objs)) kxgettext-objs := $(addprefix $(obj)/,$(kxgettext-objs)) ifeq ($(findstring mconf,$(MAKECMDGOALS)),mconf) hostprogs-y += mconf endif ifeq ($(findstring nconf,$(MAKECMDGOALS)),nconf) hostprogs-y += nconf endif __hostprogs := $(sort $(hostprogs-y) $(hostprogs-m)) host-csingle:= $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m))) host-cmulti := $(foreach m,$(__hostprogs),\ $(if $($(m)-cxxobjs),,$(if $($(m)-objs),$(m)))) host-cobjs := $(sort $(foreach m,$(__hostprogs),$($(m)-objs))) conf mconf nconf kxgettext: %: $(obj)/% $(obj)/conf $(obj)/mconf $(obj)/nconf $(obj)/kxgettext: BUILD_LDFLAGS=$(HOSTLOADLIBES_$(@F)) $(obj)/conf: $(conf-objs) $(hcompile.u) $(obj)/mconf: $(mconf-objs) $(hcompile.u) $(obj)/nconf: $(nconf-objs) $(hcompile.u) $(obj)/kxgettext: $(kxgettext-objs) $(hcompile.u) $(host-csingle) $(host-cmulti) $(host-cobjs): BUILD_CFLAGS+=$(HOST_EXTRACFLAGS) \ $(HOSTCFLAGS) $(HOSTCFLAGS_$(@F)) host-cobjs.nogen := $(filter-out $(generated),$(host-cobjs)) host-cobjs.generated := $(filter $(generated),$(host-cobjs)) $(host-cobjs.nogen): $(obj)/%.o: $(top_srcdir)$(src)/%.c $(hcompile.o) $(host-cobjs.generated): $(obj)/%.o: $(obj)/%.c $(hcompile.o) # we use the pre-generated always $(obj)/%:: $(top_srcdir)$(src)/%_shipped @$(disp_gen) $(Q)cat $< > $@ CLEAN_extra/config menuconfig_clean: $(do_rm) $(clean-files) $(lxdialog) conf $(wildcard *.o) distclean: CLEAN_extra/config $(Q)$(RM) -r $(lxdialog) $(conf-objs) $(mconf-objs) $(nconf-objs) \ $(kxgettext-objs) \ $(hostprogs-y) $(qconf-cxxobjs) $(qconf-objs) $(gconf-objs) \ .depend \ $(top_builddir)include/config $(top_builddir)include/generated .PHONY: clean distclean $(PHONY)