summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--scripts/lxdialog/Makefile34
-rwxr-xr-xscripts/lxdialog/lxdialogbin37159 -> 0 bytes
-rw-r--r--scripts/lxdialog/util.c2
3 files changed, 21 insertions, 15 deletions
diff --git a/scripts/lxdialog/Makefile b/scripts/lxdialog/Makefile
index 75b7bac..b34bbc3 100644
--- a/scripts/lxdialog/Makefile
+++ b/scripts/lxdialog/Makefile
@@ -1,44 +1,50 @@
-HOST_CFLAGS := -DLOCALE
-HOST_LDFLAGS := -lncurses
+HOST_EXTRACFLAGS := -DLOCALE
+HOST_LOADLIBES := -lncurses
+HOSTCC = gcc
ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h))
- HOST_CFLAGS += -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
+ HOST_EXTRACFLAGS += -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
else
ifeq (/usr/include/ncurses/curses.h, $(wildcard /usr/include/ncurses/curses.h))
- HOST_CFLAGS += -I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
+ HOST_EXTRACFLAGS += -I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
else
ifeq (/usr/include/ncurses.h, $(wildcard /usr/include/ncurses.h))
- HOST_CFLAGS += -DCURSES_LOC="<ncurses.h>"
+ HOST_EXTRACFLAGS += -DCURSES_LOC="<ncurses.h>"
else
- HOST_CFLAGS += -DCURSES_LOC="<curses.h>"
+ HOST_EXTRACFLAGS += -DCURSES_LOC="<curses.h>"
endif
endif
endif
-host-progs := lxdialog
+host-progs := lxdialog
+always := $(host-progs)
lxdialog-objs := checklist.o menubox.o textbox.o yesno.o inputbox.o \
util.o lxdialog.o msgbox.o
-EXTRA_TARGETS := lxdialog
-
-first_rule: ncurses
-
-include $(TOPDIR)/Rules.make
+first_rule: ncurses lxdialog
.PHONY: ncurses
-
ncurses:
@echo "main() {}" > lxtemp.c
- @if $(HOSTCC) $(HOST_CFLAGS) lxtemp.c $(HOST_LDFLAGS); then \
+ @if $(HOSTCC) lxtemp.c $(HOST_LOADLIBES); then \
rm -f lxtemp.c a.out; \
else \
rm -f lxtemp.c; \
echo -e "\007" ;\
echo ">> Unable to find the Ncurses libraries." ;\
echo ">>" ;\
echo ">> You must have Ncurses installed in order" ;\
echo ">> to use 'make menuconfig'" ;\
echo ;\
exit 1 ;\
fi
+
+clean:
+ rm -f $(lxdialog-objs) lxdialog
+
+%.o: %.c
+ $(HOSTCC) $(HOST_EXTRACFLAGS) -fPIC -c $^ -o $@
+
+lxdialog: $(lxdialog-objs)
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOST_LOADLIBES) $^ -o $@
diff --git a/scripts/lxdialog/lxdialog b/scripts/lxdialog/lxdialog
deleted file mode 100755
index f0dca91..0000000
--- a/scripts/lxdialog/lxdialog
+++ b/dev/null
Binary files differ
diff --git a/scripts/lxdialog/util.c b/scripts/lxdialog/util.c
index b3a7af9..e7bce9b 100644
--- a/scripts/lxdialog/util.c
+++ b/scripts/lxdialog/util.c
@@ -319,41 +319,41 @@ draw_box (WINDOW * win, int y, int x, int height, int width,
*/
void
draw_shadow (WINDOW * win, int y, int x, int height, int width)
{
int i;
if (has_colors ()) { /* Whether terminal supports color? */
wattrset (win, shadow_attr);
wmove (win, y + height, x + 2);
for (i = 0; i < width; i++)
waddch (win, winch (win) & A_CHARTEXT);
for (i = y + 1; i < y + height + 1; i++) {
wmove (win, i, x + width);
waddch (win, winch (win) & A_CHARTEXT);
waddch (win, winch (win) & A_CHARTEXT);
}
wnoutrefresh (win);
}
}
/*
* Return the position of the first alphabetic character in a string.
*/
int
first_alpha(const char *string, const char *exempt)
{
int i, in_paren=0, c;
for (i = 0; i < strlen(string); i++) {
c = tolower(string[i]);
if (strchr("<[(", c)) ++in_paren;
- if (strchr(">])", c)) --in_paren;
+ if (strchr(">])", c) && in_paren > 0) --in_paren;
if ((! in_paren) && isalpha(c) &&
strchr(exempt, c) == 0)
return i;
}
return 0;
}