diff options
Diffstat (limited to 'busybox/scripts/config/Makefile')
-rw-r--r-- | busybox/scripts/config/Makefile | 111 |
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 | |||
5 | top_srcdir=../.. | ||
6 | top_builddir=../.. | ||
7 | srcdir=$(top_srcdir)/scripts/config | ||
8 | include $(top_builddir)/Rules.mak | ||
9 | |||
10 | all: ncurses conf mconf | ||
11 | |||
12 | LIBS = -lncurses | ||
13 | ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h)) | ||
14 | HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>" | ||
15 | else | ||
16 | ifeq (/usr/include/ncurses/curses.h, $(wildcard /usr/include/ncurses/curses.h)) | ||
17 | HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>" | ||
18 | else | ||
19 | ifeq (/usr/local/include/ncurses/ncurses.h, $(wildcard /usr/local/include/ncurses/ncurses.h)) | ||
20 | HOSTCFLAGS += -I/usr/local/include/ncurses -DCURSES_LOC="<ncurses.h>" | ||
21 | else | ||
22 | ifeq (/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>" | ||
24 | else | ||
25 | ifeq (/usr/include/ncurses.h, $(wildcard /usr/include/ncurses.h)) | ||
26 | HOSTNCURSES += -DCURSES_LOC="<ncurses.h>" | ||
27 | else | ||
28 | HOSTNCURSES += -DCURSES_LOC="<curses.h>" | ||
29 | endif | ||
30 | endif | ||
31 | endif | ||
32 | endif | ||
33 | endif | ||
34 | |||
35 | CONF_SRC =conf.c | ||
36 | MCONF_SRC =mconf.c checklist.c menubox.c textbox.c yesno.c inputbox.c util.c msgbox.c | ||
37 | SHARED_SRC=zconf.tab.c | ||
38 | SHARED_DEPS:=$(srcdir)/lkc.h $(srcdir)/lkc_proto.h \ | ||
39 | lkc_defs.h $(srcdir)/expr.h zconf.tab.h | ||
40 | CONF_OBJS =$(patsubst %.c,%.o, $(CONF_SRC)) | ||
41 | MCONF_OBJS=$(patsubst %.c,%.o, $(MCONF_SRC)) | ||
42 | SHARED_OBJS=$(patsubst %.c,%.o, $(SHARED_SRC)) | ||
43 | |||
44 | conf: $(CONF_OBJS) $(SHARED_OBJS) | ||
45 | $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@ | ||
46 | |||
47 | mconf: $(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 | |||
56 | lkc_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 | |||
65 | ifdef LKC_GENPARSER | ||
66 | |||
67 | %.tab.c %.tab.h: $(srcdir)/%.y | ||
68 | bison -t -d -v -b $* -p $(notdir $*) $< | ||
69 | |||
70 | lex.%.c: $(srcdir)/%.l | ||
71 | flex -P$(notdir $*) -o$@ $< | ||
72 | else | ||
73 | |||
74 | lex.zconf.o: lex.zconf.c $(SHARED_DEPS) | ||
75 | $(HOSTCC) $(HOSTCFLAGS) -I$(srcdir) -c $< -o $@ | ||
76 | |||
77 | lex.zconf.c: $(srcdir)/lex.zconf.c_shipped | ||
78 | cp $< $@ | ||
79 | |||
80 | zconf.tab.c: $(srcdir)/zconf.tab.c_shipped | ||
81 | cp $< $@ | ||
82 | |||
83 | zconf.tab.h: $(srcdir)/zconf.tab.h_shipped | ||
84 | cp $< $@ | ||
85 | endif | ||
86 | |||
87 | zconf.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 | |||
93 | ncurses: | ||
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 | |||
108 | clean: | ||
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 | |||