6 CFLAGS
= -O2
-c
-MD
-Wall
-Wstrict-prototypes
-fomit-frame-pointer
7 CXXFLAGS
= -O2
-c
-MD
-Wall
-fomit-frame-pointer
24 LXDIALOG_SRC_DIR
= lxdialog
25 LXDIALOG_BIN_DIR
= lxdialog
27 CONF_ELF
= $(CONF_BIN_DIR
)/conf
28 MCONF_ELF
= $(MCONF_BIN_DIR
)/mconf
29 NCONF_ELF
= $(NCONF_BIN_DIR
)/nconf
30 QCONF_ELF
= $(QCONF_BIN_DIR
)/qconf
33 @bison
-ozconf.tab.c
-t
-l zconf.y
34 @flex
-ozconf.
lex.c
-L zconf.l
36 #########################
37 all: config menuconfig nconfig xconfig
39 menuconfig
: $(MCONF_ELF
)
48 $(RM
) $(MCONF_ELF
) $(NCONF_ELF
) $(CONF_ELF
) $(QCONF_ELF
) \
49 $(COMMON_OBJFILES
) $(COMMON_DEPFILES
) \
50 $(CONF_OBJFILES
) $(CONF_DEPFILES
) \
51 $(LXDIALOG_OBJFILES
) $(LXDIALOG_DEPFILES
) \
52 $(MCONF_OBJFILES
) $(MCONF_DEPFILES
) \
53 $(NCONF_OBJFILES
) $(NCONF_DEPFILES
) \
54 $(QCONF_OBJFILES
) $(QCONF_DEPFILES
) \
55 $(QCONF_CXXOBJFILES
) $(QCONF_CXXDEPFILES
) \
56 $(QCONF_BIN_DIR
)/.tmp_qtcheck
58 ############################
59 # commonn source files
60 COMMON_SRCFILES
= $(COMMON_SRC_DIR
)/zconf.tab.c
62 COMMON_OBJFILES
:= $(COMMON_SRCFILES
)
63 COMMON_OBJFILES
:= $(patsubst %.c
,$(COMMON_BIN_DIR
)/%.o
,$(COMMON_OBJFILES
))
65 COMMON_DEPFILES
:= $(COMMON_SRCFILES
)
66 COMMON_DEPFILES
:= $(patsubst %.c
,$(COMMON_BIN_DIR
)/%.d
,$(COMMON_DEPFILES
))
68 ############################
70 CONF_SRCFILES
= $(CONF_SRC_DIR
)/conf.c
73 CONF_OBJFILES
:= $(CONF_SRCFILES
)
74 CONF_OBJFILES
:= $(patsubst %.c
,$(CONF_BIN_DIR
)/%.o
,$(CONF_OBJFILES
))
76 CONF_DEPFILES
:= $(CONF_SRCFILES
)
77 CONF_DEPFILES
:= $(patsubst %.c
,$(CONF_BIN_DIR
)/%.d
,$(CONF_DEPFILES
))
80 #########################
82 MCONF_SRCFILES
= $(MCONF_SRC_DIR
)/mconf.c
85 MCONF_OBJFILES
:= $(MCONF_SRCFILES
)
86 MCONF_OBJFILES
:= $(patsubst %.c
, %.o
, $(MCONF_OBJFILES
))
88 MCONF_DEPFILES
:= $(MCONF_SRCFILES
)
89 MCONF_DEPFILES
:= $(patsubst %.c
, %.d
, $(MCONF_DEPFILES
))
91 MCONF_INCLUDES
= -I
/usr
/include/ncurses
92 MCONF_DEFINES
= -DLOCALE
-DCURSES_LOC
="<ncurses.h>"
93 MCONF_LIBS
= -lncursesw
-ldl
-ltinfo
95 #########################
97 NCONF_SRCFILES
= $(NCONF_SRC_DIR
)/nconf.c
$(NCONF_SRC_DIR
)/nconf.gui.c
100 NCONF_OBJFILES
:= $(NCONF_SRCFILES
)
101 NCONF_OBJFILES
:= $(patsubst %.c
, %.o
, $(NCONF_OBJFILES
))
103 NCONF_DEPFILES
:= $(NCONF_SRCFILES
)
104 NCONF_DEPFILES
:= $(patsubst %.c
, %.d
, $(NCONF_DEPFILES
))
106 NCONF_INCLUDES
= -I
/usr
/include/ncurses
107 NCONF_DEFINES
= -DLOCALE
-DCURSES_LOC
="<ncurses.h>"
108 NCONF_LIBS
= -lncursesw
-ldl
-ltinfo
-lmenu
-lpanel
109 #NCONF_LIBS = -lncurses -ldl
111 ############################
113 LXDIALOG_SRCFILES
= $(LXDIALOG_SRC_DIR
)/checklist.c \
114 $(LXDIALOG_SRC_DIR
)/inputbox.c \
115 $(LXDIALOG_SRC_DIR
)/menubox.c \
116 $(LXDIALOG_SRC_DIR
)/textbox.c \
117 $(LXDIALOG_SRC_DIR
)/util.c \
118 $(LXDIALOG_SRC_DIR
)/yesno.c
120 LXDIALOG_OBJFILES
:= $(LXDIALOG_SRCFILES
)
121 LXDIALOG_OBJFILES
:= $(patsubst %.c
, %.o
, $(LXDIALOG_OBJFILES
))
123 LXDIALOG_DEPFILES
:= $(LXDIALOG_SRCFILES
)
124 LXDIALOG_DEPFILES
:= $(patsubst %.c
, %.d
, $(LXDIALOG_SRCFILES
))
127 ############################
129 QCONF_SRCFILES
= $(QCONF_SRC_DIR
)/kconfig_load.c
133 QCONF_OBJFILES
:= $(QCONF_SRCFILES
)
134 QCONF_OBJFILES
:= $(patsubst %.c
, %.o
, $(QCONF_OBJFILES
))
136 QCONF_DEPFILES
:= $(QCONF_SRCFILES
)
137 QCONF_DEPFILES
:= $(patsubst %.c
, %.d
, $(QCONF_SRCFILES
))
139 QCONF_CXXSRCFILES
= qconf.
cc
141 QCONF_CXXOBJFILES
:= $(QCONF_CXXSRCFILES
)
142 QCONF_CXXOBJFILES
:= $(patsubst %.
cc, %.o
, $(QCONF_CXXOBJFILES
))
144 QCONF_CXXDEPFILES
:= $(QCONF_CXXSRCFILES
)
145 QCONF_CXXDEPFILES
:= $(patsubst %.
cc, %.d
, $(QCONF_CXXSRCFILES
))
147 QDEFINES
= -DLKC_DIRECT_LINK
-DQT_SHARED
-DQT_TABLET_SUPPORT
-DQT_NO_DEBUG
-DQT_THREAD_SUPPORT
-D_REENTRANT
149 ifeq ($(MAKECMDGOALS
),xconfig
)
150 -include $(QCONF_BIN_DIR
)/.tmp_qtcheck
153 ifeq ($(MAKECMDGOALS
),all)
154 -include $(QCONF_BIN_DIR
)/.tmp_qtcheck
157 ifeq ($(MAKECMDGOALS
),)
158 -include $(QCONF_BIN_DIR
)/.tmp_qtcheck
161 $(QCONF_BIN_DIR
)/.tmp_qtcheck
:
162 @set
-e
; echo
" CHECK qt"; dir=""; pkg
=""; \
163 pkg-config
--exists qt
2> /dev
/null
&& pkg
=qt
; \
164 pkg-config
--exists qt-mt
2> /dev
/null
&& pkg
=qt-mt
; \
165 if
[ -n
"$$pkg" ]; then \
166 cflags="\$$(shell pkg-config $$pkg --cflags)"; \
167 libs
="\$$(shell pkg-config $$pkg --libs)"; \
168 dir="$$(pkg-config $$pkg --variable=prefix)"; \
170 for d in
$$QTDIR /usr
/share
/qt
* /usr
/lib
/qt
*; do \
171 if
[ -f
$$d/include/qconfig.h
]; then
dir=$$d; break
; fi
; \
173 if
[ -z
"$$dir" ]; then \
175 echo
"* Unable to find the QT3 installation. Please make sure that"; \
176 echo
"* the QT3 development package is correctly installed and"; \
177 echo
"* either install pkg-config or set the QTDIR environment"; \
178 echo
"* variable to the correct location."; \
182 libpath
=$$dir/lib
; lib
=qt
; osdir
=""; \
183 $(CXX
) -print-multi-os-directory
> /dev
/null
2>&1 && \
184 osdir
=x
$$($(CXX
) -print-multi-os-directory
); \
185 test -d
$$libpath/$$osdir && libpath
=$$libpath/$$osdir; \
186 test -f
$$libpath/libqt-mt.so
&& lib
=qt-mt
; \
187 cflags="-I$$dir/include"; \
188 libs
="-L$$libpath -Wl,-rpath,$$libpath -l$$lib"; \
190 echo
"KC_QT_CFLAGS=$$cflags" > $@
; \
191 echo
"KC_QT_LIBS=$$libs" >> $@
;
193 ############################
194 # compile common files (zconf.tab.c)
195 $(COMMON_OBJFILES
): %.o
: %.c
197 $(CC
) $(CFLAGS
) -MF
"$(@:%.o=%.d)" -MT
"$(@:%.o=%.d)" -o
$@
$<
199 # compile "conf 'c'" files
200 $(CONF_OBJFILES
): %.o
: %.c
202 $(CC
) $(CFLAGS
) -MF
"$(@:%.o=%.d)" -MT
"$(@:%.o=%.d)" -o
$@
$<
204 # compile "mconf 'c'" files
205 $(MCONF_OBJFILES
): %.o
: %.c
207 $(CC
) $(MCONF_INCLUDES
) $(MCONF_DEFINES
) $(CFLAGS
) -MF
"$(@:%.o=%.d)" -MT
"$(@:%.o=%.d)" -o
$@
$<
209 # compile "nconf 'c'" files
210 $(NCONF_OBJFILES
): %.o
: %.c
212 $(CC
) $(NCONF_INCLUDES
) $(NCONF_DEFINES
) $(CFLAGS
) -MF
"$(@:%.o=%.d)" -MT
"$(@:%.o=%.d)" -o
$@
$<
214 # compile "lxdialog 'c'" files
215 $(LXDIALOG_OBJFILES
): %.o
: %.c
217 $(CC
) $(MCONF_INCLUDES
) $(MCONF_DEFINES
) $(CFLAGS
) -MF
"$(@:%.o=%.d)" -MT
"$(@:%.o=%.d)" -o
$@
$<
219 # compile "qconf 'c'" files
220 $(QCONF_OBJFILES
): %.o
: %.c
222 $(CC
) $(CFLAGS
) $(KC_QT_CFLAGS
) -MF
"$(@:%.o=%.d)" -MT
"$(@:%.o=%.d)" -o
$@
$<
224 # compile "qt 'c++'" files
225 $(QCONF_CXXOBJFILES
): %.o
: %.
cc
227 $(CXX
) $(QDEFINES
) $(CXXFLAGS
) $(KC_QT_CFLAGS
) -MF
"$(@:%.o=%.d)" -MT
"$(@:%.o=%.d)" -o
$@
$<
229 ############################
231 $(CONF_ELF
): $(COMMON_OBJFILES
) $(CONF_OBJFILES
)
232 @echo
'Linking $(CONF_ELF)'
233 $(CC
) $(COMMON_OBJFILES
) $(CONF_OBJFILES
) -o
$(CONF_ELF
)
237 $(MCONF_ELF
): $(COMMON_OBJFILES
) $(LXDIALOG_OBJFILES
) $(MCONF_OBJFILES
)
238 @echo
'Linking $(MCONF_ELF)'
239 $(CC
) $(COMMON_OBJFILES
) $(MCONF_OBJFILES
) $(LXDIALOG_OBJFILES
) $(MCONF_LIBS
) -o
$(MCONF_ELF
)
243 $(NCONF_ELF
): $(COMMON_OBJFILES
) $(NCONF_OBJFILES
)
244 @echo
'Linking $(NCONF_ELF)'
245 $(CC
) $(COMMON_OBJFILES
) $(NCONF_OBJFILES
) $(NCONF_LIBS
) -o
$(NCONF_ELF
)
249 $(QCONF_ELF
): $(COMMON_OBJFILES
) $(QCONF_OBJFILES
) $(QCONF_CXXOBJFILES
)
250 @echo
'Linking $(QCONF_ELF)'
251 $(CC
) $(COMMON_OBJFILES
) $(QCONF_OBJFILES
) $(QCONF_CXXOBJFILES
) $(KC_QT_LIBS
) -o
$(QCONF_ELF
) -lstdc
++
254 ############################
256 ifneq ($(strip $(COMMON_DEPFILES
)),)
257 -include $(COMMON_DEPFILES
)
260 ifneq ($(strip $(CONF_DEPFILES
)),)
261 -include $(CONF_DEPFILES
)
264 ifneq ($(strip $(MCONF_DEPFILES
)),)
265 -include $(MCONF_DEPFILES
)
268 ifneq ($(strip $(NCONF_DEPFILES
)),)
269 -include $(NCONF_DEPFILES
)
272 ifneq ($(strip $(QCONF_DEPFILES
)),)
273 -include $(QCONF_DEPFILES
)
276 ifneq ($(strip $(LXDIALOG_DEPFILES
)),)
277 -include $(LXDIALOG_DEPFILES
)