English Language flag
// Log In
// CVSweb
Project: FreeWRT
// Summary // Activity // Search // Tracker // Lists // News // SCM // Wiki

SCM Repository

ViewVC logotype

Contents of /branches/freewrt_1_0/package/config/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2715 - (show annotations) (download)
Tue Jun 5 14:52:44 2007 UTC (6 years, 8 months ago) by tg
File size: 3436 byte(s)
• 1.0 -> scripts/param.h, paxmirabilis: MFC the new version from trunk
• both 1.0 and trunk: implement “make targz”, “make tarbz2”
  (I like the gzip(1)d versions better though)
• 1.0 -> package/config/Makefile: quieten the “clean” target to be consistent
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
7 CP=cp -fpR
8
9 # Select the compiler needed to build binaries for your development system
10 HOSTCC ?= gcc
11 HOSTCFLAGS?= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
12 # Ensure consistent sort order, 'gcc -print-search-dirs' behavior, etc.
13 LC_ALL:= C
14
15
16 all: ncurses conf mconf
17
18 LIBS = -lncurses
19 ifeq (/usr/include/ncurses/ncurses.h, $(wildcard /usr/include/ncurses/ncurses.h))
20 HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"
21 else
22 ifeq (/usr/include/ncurses/curses.h, $(wildcard /usr/include/ncurses/curses.h))
23 HOSTNCURSES += -I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"
24 else
25 ifeq (/usr/local/include/ncurses/ncurses.h, $(wildcard /usr/local/include/ncurses/ncurses.h))
26 HOSTCFLAGS += -I/usr/local/include/ncurses -DCURSES_LOC="<ncurses.h>"
27 else
28 ifeq (/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>"
30 else
31 ifeq (/usr/include/ncurses.h, $(wildcard /usr/include/ncurses.h))
32 HOSTNCURSES += -DCURSES_LOC="<ncurses.h>"
33 else
34 HOSTNCURSES += -DCURSES_LOC="<curses.h>"
35 endif
36 endif
37 endif
38 endif
39 endif
40
41 CONF_SRC =conf.c
42 MCONF_SRC =mconf.c checklist.c menubox.c textbox.c yesno.c inputbox.c util.c msgbox.c
43 SHARED_SRC=zconf.tab.c glob.c
44 SHARED_DEPS:=lkc.h lkc_proto.h lkc_defs.h expr.h zconf.tab.h glob.h
45 CONF_OBJS =$(patsubst %.c,%.o, $(CONF_SRC))
46 MCONF_OBJS=$(patsubst %.c,%.o, $(MCONF_SRC))
47 SHARED_OBJS=$(patsubst %.c,%.o, $(SHARED_SRC))
48
49 conf: $(CONF_OBJS) $(SHARED_OBJS)
50 $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@
51
52 mconf: $(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
61 glob.o: glob.c $(SHARED_DEPS)
62 $(HOSTCC) $(HOSTCFLAGS) -I. -c glob.c -o $@
63
64 lkc_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
73 ifdef LKC_GENPARSER
74
75 %.tab.c %.tab.h: %.y
76 bison -t -d -v -b $* -p $(notdir $*) $<
77
78 lex.%.c: %.l
79 flex -P$(notdir $*) -o$@ $<
80 else
81
82 lex.zconf.o: lex.zconf.c $(SHARED_DEPS)
83 $(HOSTCC) $(HOSTCFLAGS) -I. -c $< -o $@
84
85 lex.zconf.c: lex.zconf.c_shipped
86 $(CP) lex.zconf.c_shipped lex.zconf.c
87
88 zconf.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
91 zconf.tab.c: zconf.tab.c_shipped
92 $(CP) zconf.tab.c_shipped zconf.tab.c
93
94 zconf.tab.h: zconf.tab.h_shipped
95 $(CP) zconf.tab.h_shipped zconf.tab.h
96 endif
97
98 .PHONY: ncurses
99
100 ncurses:
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
115 clean:
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

root@freewrt.org:443
ViewVC Help
Powered by ViewVC 1.1.20