MAKE    = make
SUBDIRS = include src

# User defines:

noconfig_targets := menuconfig config oldconfig randconfig \
	defconfig allyesconfig allnoconfig clean distclean \
	release tags TAGS

TOPDIR=./
include $(TOPDIR)Rules.mak

all: dslinuxconfig headers
	for dir in $(SUBDIRS) ; do \
		$(MAKE) -C $$dir all; \
	done

romfs:

tests: all
	$(MAKE) -C tests all

check test: tests
	$(MAKE) -C tests test

clean:
	for dir in $(SUBDIRS) tests extra ; do \
		$(MAKE) -C $$dir clean; \
	done
	$(RM) .config .config.cmd .config.old
	$(RM) include/system_configuration.h

distclean: clean

headers: include/system_configuration.h

install:
	for dir in $(SUBDIRS) ; do \
		$(MAKE) -C $$dir install; \
	done


#Menu configuration system

extra/config/conf:
	$(MAKE) -C extra/config conf

extra/config/mconf:
	$(MAKE) -C extra/config ncurses mconf

.PHONY: dslinuxconfig
dslinuxconfig:  extra/config/conf
	cp -a extra/Configs/dslinux_config .config
	@./extra/config/conf -o extra/Configs/Config.in

menuconfig: extra/config/mconf
	@./extra/config/mconf extra/Configs/Config.in

config: extra/config/conf
	@./extra/config/conf extra/Configs/Config.in

oldconfig: extra/config/conf
	@./extra/config/conf -o extra/Configs/Config.in

randconfig: extra/config/conf
	@./extra/config/conf -r extra/Configs/Config.in

allyesconfig: extra/config/conf
	@./extra/config/conf -y extra/Configs/Config.in

allnoconfig: extra/config/conf
	@./extra/config/conf -n extra/Configs/Config.in

defconfig: extra/config/conf
	@./extra/config/conf -d extra/Configs/Config.in

include/system_configuration.h: .config
	@if [ ! -x ./extra/config/conf ] ; then \
		$(MAKE) -C extra/config conf; \
	fi;
	@./extra/config/conf -o extra/Configs/Config.in

.config:
	$(MAKE) defconfig