Don't build the ncurses stuff unless it is specifically asked for
authorEric Andersen <andersen@codepoet.org>
Fri, 13 Dec 2002 22:53:28 +0000 (22:53 -0000)
committerEric Andersen <andersen@codepoet.org>
Fri, 13 Dec 2002 22:53:28 +0000 (22:53 -0000)
 -Erik

Makefile
Rules.mak
scripts/config/Makefile
sysdeps/linux/Config.in

index 9a87ad4bdff12cc39e1d99830cbcdcbebc18c35a..58e397cfd619c1967e8d07f48728058a3014781d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -31,7 +31,7 @@ DIRS:=applets archival archival/libunarchive console-tools debianutils \
        networking/libiproute networking/udhcp procps loginutils shell \
        shellutils sysklogd textutils util-linux libbb libpwdgrp
 
-ifdef include_config
+ifeq ($(strip $(HAVE_DOT_CONFIG)),y)
 
 all: busybox busybox.links #doc
 
@@ -142,7 +142,7 @@ include/config/MARKER: depend scripts/split-include
 
 include/config.h: .config
        @if [ ! -x ./scripts/config/conf ] ; then \
-           make -C scripts/config; \
+           make -C scripts/config conf; \
        fi;
        @./scripts/config/conf -o sysdeps/$(TARGET_OS)/Config.in
 
@@ -154,18 +154,20 @@ finished2:
        @echo Finished installing...
        @echo
 
-else # ifdef include_config
+else # ifeq ($(strip $(HAVE_DOT_CONFIG)),y)
 
 all: menuconfig
 
-ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),)
-# Targets which don't need .config
-
 # configuration
 # ---------------------------------------------------------------------------
 
-scripts/config/conf scripts/config/mconf:
-       make -C scripts/config
+scripts/config/conf:
+       make -C scripts/config conf
+       -@if [ ! -f .config ] ; then \
+               cp sysdeps/$(TARGET_OS)/defconfig .config; \
+       fi
+scripts/config/mconf:
+       make -C scripts/config ncurses conf mconf
        -@if [ ! -f .config ] ; then \
                cp sysdeps/$(TARGET_OS)/defconfig .config; \
        fi
@@ -239,8 +241,7 @@ tags:
        ctags -R .
 
 
-endif # ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),)
-endif # ifdef include_config
+endif # ifeq ($(strip $(HAVE_DOT_CONFIG)),y)
 
 .PHONY: dummy subdirs release distclean clean config oldconfig \
        menuconfig tags check test tests depend
index 80f273672ec8f8ebb7b439fb4be9e50675bbde87..caf7e65e6fd39533a69aa4c404a46f7488ee4769 100644 (file)
--- a/Rules.mak
+++ b/Rules.mak
@@ -103,7 +103,6 @@ endif
 
 # Pull in the user's uClibc configuration
 ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
-include_config := 1
 -include $(TOPDIR).config
 endif
 
index d43c8b14fc43e66bc50c88bc3686da1e7a866a15..002b8d547e6f2270458dfbed6802ea854856e3d8 100644 (file)
@@ -5,52 +5,44 @@
 TOPDIR=../../
 include $(TOPDIR)Rules.mak
 
-
 all: ncurses conf mconf
 
-#HOSTCFLAGS=-Wall -g -O0
 LIBS = -lncurses
 ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h))
-       HOSTCFLAGS += -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
+       HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
 else
 ifeq (/usr/include/ncurses/curses.h, $(wildcard /usr/include/ncurses/curses.h))
-       HOSTCFLAGS += -I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
+       HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
 else
 ifeq (/usr/include/ncurses.h, $(wildcard /usr/include/ncurses.h))
-       HOSTCFLAGS += -DCURSES_LOC="<ncurses.h>"
+       HOSTNCURSES += -DCURSES_LOC="<ncurses.h>"
 else
-       HOSTCFLAGS += -DCURSES_LOC="<curses.h>"
+       HOSTNCURSES += -DCURSES_LOC="<curses.h>"
 endif
 endif
 endif
 
 
-CONF_SRC  =conf.c zconf.tab.c
-MCONF_SRC =mconf.c zconf.tab.c
-LXDLG_SRC =checklist.c menubox.c textbox.c yesno.c inputbox.c util.c msgbox.c
+CONF_SRC  =conf.c
+MCONF_SRC =mconf.c checklist.c menubox.c textbox.c yesno.c inputbox.c util.c msgbox.c
+SHARED_SRC=zconf.tab.c
+SHARED_DEPS:=lkc.h lkc_proto.h lkc_defs.h expr.h zconf.tab.h
 CONF_OBJS =$(patsubst %.c,%.o, $(CONF_SRC))
 MCONF_OBJS=$(patsubst %.c,%.o, $(MCONF_SRC))
-LXDLG_OBJS=$(patsubst %.c,%.o, $(LXDLG_SRC))
-
-conf: $(CONF_OBJS) 
-       $(HOSTCC) $(HOSTCFLAGS) $(NATIVE_LDFLAGS) $^ -o $@
-
-mconf: $(MCONF_OBJS) $(LXDLG_OBJS)
-       $(HOSTCC) $(HOSTCFLAGS) $(NATIVE_LDFLAGS) $^ -o $@ $(LIBS)
-
-lkc_deps:=lkc.h lkc_proto.h lkc_defs.h expr.h zconf.tab.h
-
-conf.o: conf.c $(lkc_deps)
-
-mconf.o: mconf.c $(lkc_deps)
+SHARED_OBJS=$(patsubst %.c,%.o, $(SHARED_SRC))
 
-zconf.tab.o: zconf.tab.c lex.zconf.c confdata.c expr.c symbol.c menu.c $(lkc_deps)
+conf: $(CONF_OBJS) $(SHARED_OBJS) 
+       $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@
 
-lex.zconf.o: lex.zconf.c $(lkc_deps)
+mconf: $(MCONF_OBJS) $(SHARED_OBJS)
+       $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@ $(LIBS)
 
-%.o : %.c
+$(CONF_OBJS): %.o : %.c $(SHARED_DEPS)
        $(HOSTCC) $(HOSTCFLAGS) -I. -c $< -o $@
 
+$(MCONF_OBJS): %.o : %.c $(SHARED_DEPS)
+       $(HOSTCC) $(HOSTCFLAGS) $(HOSTNCURSES) -I. -c $< -o $@
+
 lkc_defs.h: lkc_proto.h
        @sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
 
@@ -69,9 +61,15 @@ lex.%.c: %.l
        flex -P$(notdir $*) -o$@ $<
 else
 
+lex.zconf.o: lex.zconf.c $(SHARED_DEPS)
+       $(HOSTCC) $(HOSTCFLAGS) -I. -c $< -o $@
+
 lex.zconf.c: lex.zconf.c_shipped
        cp lex.zconf.c_shipped lex.zconf.c
 
+zconf.tab.o: zconf.tab.c lex.zconf.c confdata.c expr.c symbol.c menu.c $(SHARED_DEPS)
+       $(HOSTCC) $(HOSTCFLAGS) -I. -c $< -o $@
+
 zconf.tab.c: zconf.tab.c_shipped
        cp zconf.tab.c_shipped zconf.tab.c
 
index 747cc9b7176558bf2783ab0d92980a4d39cabc0e..8648e1489434f7f1726efda17c07e8e6939f73e6 100644 (file)
@@ -5,6 +5,10 @@
 
 mainmenu "BusyBox Configuration"
 
+config HAVE_DOT_CONFIG
+       bool
+       default y
+
 menu "General Configuration"
 
 choice