source: freewrt/package/config/Makefile@ 2400aa1

freewrt_2_0
Last change on this file since 2400aa1 was cbe7496, checked in by Waldemar Brodkorb <wbx@…>, 4 months ago

fix prereq issues on Debian 12

  • Property mode set to 100644
File size: 3.4 KB
Line 
1# $FreeWRT$
2#-
3# This file is part of the FreeWRT project. FreeWRT is copyrighted
4# material, please see the LICENCE file in the top-level directory
5# or at http://www.freewrt.org/licence for details.
6
7CP=cp -fpR
8
9# Select the compiler needed to build binaries for your development system
10HOSTCC ?= gcc
11HOSTCFLAGS?= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fcommon
12# Ensure consistent sort order, 'gcc -print-search-dirs' behavior, etc.
13LC_ALL:= C
14
15
16all: ncurses conf mconf
17
18LIBS = -lncurses
19ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h))
20 HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
21else
22ifeq (/usr/include/ncurses/curses.h, $(wildcard /usr/include/ncurses/curses.h))
23 HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
24else
25ifeq (/usr/local/include/ncurses/ncurses.h, $(wildcard /usr/local/include/ncurses/ncurses.h))
26 HOSTCFLAGS += -I/usr/local/include/ncurses -DCURSES_LOC="<ncurses.h>"
27else
28ifeq (/usr/local/include/ncurses/curses.h, $(wildcard /usr/local/include/ncurses/curses.h))
29 HOSTCFLAGS += -I/usr/local/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
30else
31ifeq (/usr/include/ncurses.h, $(wildcard /usr/include/ncurses.h))
32 HOSTNCURSES += -DCURSES_LOC="<ncurses.h>"
33else
34 HOSTNCURSES += -DCURSES_LOC="<curses.h>"
35endif
36endif
37endif
38endif
39endif
40
41CONF_SRC =conf.c
42MCONF_SRC =mconf.c checklist.c menubox.c textbox.c yesno.c inputbox.c util.c msgbox.c
43SHARED_SRC=zconf.tab.c glob.c
44SHARED_DEPS:=lkc.h lkc_proto.h lkc_defs.h expr.h zconf.tab.h glob.h
45CONF_OBJS =$(patsubst %.c,%.o, $(CONF_SRC))
46MCONF_OBJS=$(patsubst %.c,%.o, $(MCONF_SRC))
47SHARED_OBJS=$(patsubst %.c,%.o, $(SHARED_SRC))
48
49conf: $(CONF_OBJS) $(SHARED_OBJS)
50 $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@
51
52mconf: $(MCONF_OBJS) $(SHARED_OBJS)
53 $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@ $(LIBS)
54
55$(CONF_OBJS): %.o : %.c $(SHARED_DEPS)
56 $(HOSTCC) $(HOSTCFLAGS) -I. -c $< -o $@
57
58$(MCONF_OBJS): %.o : %.c $(SHARED_DEPS)
59 $(HOSTCC) $(HOSTCFLAGS) $(HOSTNCURSES) -I. -c $< -o $@
60
61glob.o: glob.c $(SHARED_DEPS)
62 $(HOSTCC) $(HOSTCFLAGS) -I. -c glob.c -o $@
63
64lkc_defs.h: lkc_proto.h
65 @sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
66
67###
68# The following requires flex/bison
69# By default we use the _shipped versions, uncomment the
70# following line if you are modifying the flex/bison src.
71#LKC_GENPARSER := 1
72
73ifdef LKC_GENPARSER
74
75%.tab.c %.tab.h: %.y
76 bison -t -d -v -b $* -p $(notdir $*) $<
77
78lex.%.c: %.l
79 flex -P$(notdir $*) -o$@ $<
80else
81
82lex.zconf.o: lex.zconf.c $(SHARED_DEPS)
83 $(HOSTCC) $(HOSTCFLAGS) -I. -c $< -o $@
84
85lex.zconf.c: lex.zconf.c_shipped
86 $(CP) lex.zconf.c_shipped lex.zconf.c
87
88zconf.tab.o: zconf.tab.c lex.zconf.c confdata.c expr.c symbol.c menu.c $(SHARED_DEPS)
89 $(HOSTCC) $(HOSTCFLAGS) -I. -c $< -o $@
90
91zconf.tab.c: zconf.tab.c_shipped
92 $(CP) zconf.tab.c_shipped zconf.tab.c
93
94zconf.tab.h: zconf.tab.h_shipped
95 $(CP) zconf.tab.h_shipped zconf.tab.h
96endif
97
98.PHONY: ncurses
99
100ncurses:
101 @echo "int main(void) { return -1; }" > lxtemp.c
102 @if $(HOSTCC) $(HOSTCFLAGS) lxtemp.c $(LIBS) ; then \
103 rm -f lxtemp.c a.out; \
104 else \
105 rm -f lxtemp.c; \
106 echo -e "\007" ;\
107 echo ">> Unable to find the Ncurses libraries." ;\
108 echo ">>" ;\
109 echo ">> You must have Ncurses installed in order" ;\
110 echo ">> to use 'make menuconfig'" ;\
111 echo ;\
112 exit 1 ;\
113 fi
114
115clean:
116 @rm -f *.o *~ core $(TARGETS) $(MCONF_OBJS) $(CONF_OBJS) \
117 conf mconf zconf.tab.c zconf.tab.h lex.zconf.c lkc_defs.h
Note: See TracBrowser for help on using the repository browser.