| 1 | # =========================================================================== |
| 2 | # OpenWrt configuration targets |
| 3 | # These targets are used from top-level makefile |
| 4 | |
| 5 | # =========================================================================== |
| 6 | # Shared Makefile for the various kconfig executables: |
| 7 | # conf: Used for defconfig, oldconfig and related targets |
| 8 | # mconf: Used for the mconfig target. |
| 9 | # Utilizes the lxdialog package |
| 10 | # object files used by all kconfig flavours |
| 11 | |
| 12 | |
| 13 | # Platform specific fixes |
| 14 | # |
| 15 | # FreeBSD |
| 16 | export CFLAGS+=-DKBUILD_NO_NLS |
| 17 | |
| 18 | conf-objs := conf.o zconf.tab.o |
| 19 | mconf-objs := mconf.o zconf.tab.o |
| 20 | |
| 21 | clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \ |
| 22 | .tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c |
| 23 | |
| 24 | all: conf mconf lxdialog/lxdialog |
| 25 | |
| 26 | lxdialog/lxdialog: |
| 27 | $(MAKE) -C lxdialog |
| 28 | |
| 29 | conf: $(conf-objs) |
| 30 | mconf: $(mconf-objs) |
| 31 | |
| 32 | clean: |
| 33 | rm -f *.o $(clean-files) conf mconf |
| 34 | $(MAKE) -C lxdialog clean |
| 35 | |
| 36 | zconf.tab.o: lex.zconf.c zconf.hash.c confdata.c |
| 37 | |
| 38 | kconfig_load.o: lkc_defs.h |
| 39 | |
| 40 | lkc_defs.h: $(src)/lkc_proto.h |
| 41 | sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/' |
| 42 | |
| 43 | zconf.tab.c: zconf.y |
| 44 | lex.zconf.c: zconf.l |
| 45 | zconf.hash.c: zconf.gperf |
| 46 | |
| 47 | %.tab.c: %.y |
| 48 | cp $@_shipped $@ || bison -l -b $* -p $(notdir $*) $< |
| 49 | |
| 50 | lex.%.c: %.l |
| 51 | cp $@_shipped $@ || flex -L -P$(notdir $*) -o$@ $< |
| 52 | |
| 53 | %.hash.c: %.gperf |
| 54 | cp $@_shipped $@ || gperf < $< > $@ |
| 55 | |