aboutsummaryrefslogtreecommitdiff
path: root/busybox/scripts/config/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'busybox/scripts/config/Makefile')
-rw-r--r--busybox/scripts/config/Makefile111
1 files changed, 111 insertions, 0 deletions
diff --git a/busybox/scripts/config/Makefile b/busybox/scripts/config/Makefile
new file mode 100644
index 000000000..c0b5b9d35
--- /dev/null
+++ b/busybox/scripts/config/Makefile
@@ -0,0 +1,111 @@
1# Makefile for BusyBox
2#
3# Copyright (C) 2002 Erik Andersen <andersen@codepoet.org>
4
5top_srcdir=../..
6top_builddir=../..
7srcdir=$(top_srcdir)/scripts/config
8include $(top_builddir)/Rules.mak
9
10all: ncurses conf mconf
11
12LIBS = -lncurses
13ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h))
14 HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
15else
16ifeq (/usr/include/ncurses/curses.h, $(wildcard /usr/include/ncurses/curses.h))
17 HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
18else
19ifeq (/usr/local/include/ncurses/ncurses.h, $(wildcard /usr/local/include/ncurses/ncurses.h))
20 HOSTCFLAGS += -I/usr/local/include/ncurses -DCURSES_LOC="<ncurses.h>"
21else
22ifeq (/usr/local/include/ncurses/curses.h, $(wildcard /usr/local/include/ncurses/curses.h))
23 HOSTCFLAGS += -I/usr/local/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
24else
25ifeq (/usr/include/ncurses.h, $(wildcard /usr/include/ncurses.h))
26 HOSTNCURSES += -DCURSES_LOC="<ncurses.h>"
27else
28 HOSTNCURSES += -DCURSES_LOC="<curses.h>"
29endif
30endif
31endif
32endif
33endif
34
35CONF_SRC =conf.c
36MCONF_SRC =mconf.c checklist.c menubox.c textbox.c yesno.c inputbox.c util.c msgbox.c
37SHARED_SRC=zconf.tab.c
38SHARED_DEPS:=$(srcdir)/lkc.h $(srcdir)/lkc_proto.h \
39 lkc_defs.h $(srcdir)/expr.h zconf.tab.h
40CONF_OBJS =$(patsubst %.c,%.o, $(CONF_SRC))
41MCONF_OBJS=$(patsubst %.c,%.o, $(MCONF_SRC))
42SHARED_OBJS=$(patsubst %.c,%.o, $(SHARED_SRC))
43
44conf: $(CONF_OBJS) $(SHARED_OBJS)
45 $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@
46
47mconf: $(MCONF_OBJS) $(SHARED_OBJS)
48 $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@ $(LIBS)
49
50$(CONF_OBJS): %.o : $(srcdir)/%.c $(SHARED_DEPS)
51 $(HOSTCC) $(HOSTCFLAGS) -I. -c $< -o $@
52
53$(MCONF_OBJS): %.o : $(srcdir)/%.c $(SHARED_DEPS)
54 $(HOSTCC) $(HOSTCFLAGS) $(HOSTNCURSES) -I. -c $< -o $@
55
56lkc_defs.h: $(srcdir)/lkc_proto.h
57 @sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
58
59###
60# The following requires flex/bison
61# By default we use the _shipped versions, uncomment the
62# following line if you are modifying the flex/bison src.
63#LKC_GENPARSER := 1
64
65ifdef LKC_GENPARSER
66
67%.tab.c %.tab.h: $(srcdir)/%.y
68 bison -t -d -v -b $* -p $(notdir $*) $<
69
70lex.%.c: $(srcdir)/%.l
71 flex -P$(notdir $*) -o$@ $<
72else
73
74lex.zconf.o: lex.zconf.c $(SHARED_DEPS)
75 $(HOSTCC) $(HOSTCFLAGS) -I$(srcdir) -c $< -o $@
76
77lex.zconf.c: $(srcdir)/lex.zconf.c_shipped
78 cp $< $@
79
80zconf.tab.c: $(srcdir)/zconf.tab.c_shipped
81 cp $< $@
82
83zconf.tab.h: $(srcdir)/zconf.tab.h_shipped
84 cp $< $@
85endif
86
87zconf.tab.o: zconf.tab.c lex.zconf.c $(srcdir)/confdata.c $(srcdir)/expr.c \
88 $(srcdir)/symbol.c $(srcdir)/menu.c $(SHARED_DEPS)
89 $(HOSTCC) $(HOSTCFLAGS) -I$(srcdir) -I. -c $< -o $@
90
91.PHONY: ncurses
92
93ncurses:
94 @echo "main() {}" > lxtemp.c
95 @if $(HOSTCC) lxtemp.c $(LIBS) ; then \
96 rm -f lxtemp.c a.out; \
97 else \
98 rm -f lxtemp.c; \
99 echo -e "\007" ;\
100 echo ">> Unable to find the Ncurses libraries." ;\
101 echo ">>" ;\
102 echo ">> You must have Ncurses installed in order" ;\
103 echo ">> to use 'make menuconfig'" ;\
104 echo ;\
105 exit 1 ;\
106 fi
107
108clean:
109 rm -f *.o *~ core $(TARGETS) $(MCONF_OBJS) $(CONF_OBJS) \
110 conf mconf zconf.tab.c zconf.tab.h lex.zconf.c lkc_defs.h
111