summaryrefslogtreecommitdiff
path: root/scripts/kconfig/makefile
blob: 6bfd24a14e360845f06d44d00070718b1ba26137 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
CC   ?= gcc
LEX  ?= flex
YACC ?= bison

VPATH := $(srctree)/scripts/kconfig

CFLAGS := -Iinclude
LDFLAGS := -lncurses

common-obj := confdata.o expr.o lexer.lex.o menu.o parser.tab.o \
               preprocess.o symbol.o util.o

lxdl-obj := checklist.o inputbox.o menubox.o \
             textbox.o lutil.o yesno.o \
             mnconf-common.o

conf: conf.o $(common-obj)
mconf: mconf.o $(common-obj) $(lxdl-obj)
nconf: nconf.o nconf.gui.o mnconf-common.o $(common-obj)
lexer.lex.c: lexer.l
parser.tab.c parser.tab.h: parser.y

%.lex.c: %.l
	$(LEX) -o $@ $<

parser.tab.c parser.tab.h: parser.y
	$(YACC) -d -o parser.tab.c $<

syncconfig: conf
	scripts/kconfig/conf --syncconfig Kconfig .config

menuconfig: mconf
	scripts/kconfig/mconf Kconfig

clean:
	rm -f *.o lexer.lex.c parser.tab.c parser.tab.h conf mconf nconf

%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<

%: %.o
	$(CC) $(LDFLAGS) -o $@ $?

.PHONY: menuconfig syncconfig clean