kconfig: split some C files out of zconf.y
I want to compile each C file independently instead of including all of them from zconf.y. Split out confdata.c, expr.c, symbol.c, and preprocess.c . These are low-hanging fruits. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
@@ -142,13 +142,8 @@ help:
|
|||||||
@echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)'
|
@echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)'
|
||||||
|
|
||||||
# ===========================================================================
|
# ===========================================================================
|
||||||
# Shared Makefile for the various kconfig executables:
|
|
||||||
# conf: Used for defconfig, oldconfig and related targets
|
|
||||||
# object files used by all kconfig flavours
|
# object files used by all kconfig flavours
|
||||||
|
common-objs := confdata.o expr.o symbol.o preprocess.o zconf.tab.o
|
||||||
conf-objs := conf.o zconf.tab.o
|
|
||||||
|
|
||||||
hostprogs-y := conf
|
|
||||||
|
|
||||||
targets += zconf.lex.c
|
targets += zconf.lex.c
|
||||||
|
|
||||||
@@ -156,9 +151,13 @@ targets += zconf.lex.c
|
|||||||
HOSTCFLAGS_zconf.lex.o := -I$(src)
|
HOSTCFLAGS_zconf.lex.o := -I$(src)
|
||||||
HOSTCFLAGS_zconf.tab.o := -I$(src)
|
HOSTCFLAGS_zconf.tab.o := -I$(src)
|
||||||
|
|
||||||
|
# conf: Used for defconfig, oldconfig and related targets
|
||||||
|
hostprogs-y += conf
|
||||||
|
conf-objs := conf.o $(common-objs)
|
||||||
|
|
||||||
# nconf: Used for the nconfig target based on ncurses
|
# nconf: Used for the nconfig target based on ncurses
|
||||||
hostprogs-y += nconf
|
hostprogs-y += nconf
|
||||||
nconf-objs := nconf.o zconf.tab.o nconf.gui.o
|
nconf-objs := nconf.o nconf.gui.o $(common-objs)
|
||||||
|
|
||||||
HOSTLDLIBS_nconf = $(shell . $(obj)/.nconf-cfg && echo $$libs)
|
HOSTLDLIBS_nconf = $(shell . $(obj)/.nconf-cfg && echo $$libs)
|
||||||
HOSTCFLAGS_nconf.o = $(shell . $(obj)/.nconf-cfg && echo $$cflags)
|
HOSTCFLAGS_nconf.o = $(shell . $(obj)/.nconf-cfg && echo $$cflags)
|
||||||
@@ -169,7 +168,7 @@ $(obj)/nconf.o $(obj)/nconf.gui.o: $(obj)/.nconf-cfg
|
|||||||
# mconf: Used for the menuconfig target based on lxdialog
|
# mconf: Used for the menuconfig target based on lxdialog
|
||||||
hostprogs-y += mconf
|
hostprogs-y += mconf
|
||||||
lxdialog := checklist.o inputbox.o menubox.o textbox.o util.o yesno.o
|
lxdialog := checklist.o inputbox.o menubox.o textbox.o util.o yesno.o
|
||||||
mconf-objs := mconf.o zconf.tab.o $(addprefix lxdialog/, $(lxdialog))
|
mconf-objs := mconf.o $(addprefix lxdialog/, $(lxdialog)) $(common-objs)
|
||||||
|
|
||||||
HOSTLDLIBS_mconf = $(shell . $(obj)/.mconf-cfg && echo $$libs)
|
HOSTLDLIBS_mconf = $(shell . $(obj)/.mconf-cfg && echo $$libs)
|
||||||
$(foreach f, mconf.o $(lxdialog), \
|
$(foreach f, mconf.o $(lxdialog), \
|
||||||
@@ -181,7 +180,7 @@ $(addprefix $(obj)/lxdialog/, $(lxdialog)): $(obj)/.mconf-cfg
|
|||||||
# qconf: Used for the xconfig target based on Qt
|
# qconf: Used for the xconfig target based on Qt
|
||||||
hostprogs-y += qconf
|
hostprogs-y += qconf
|
||||||
qconf-cxxobjs := qconf.o
|
qconf-cxxobjs := qconf.o
|
||||||
qconf-objs := zconf.tab.o
|
qconf-objs := $(common-objs)
|
||||||
|
|
||||||
HOSTLDLIBS_qconf = $(shell . $(obj)/.qconf-cfg && echo $$libs)
|
HOSTLDLIBS_qconf = $(shell . $(obj)/.qconf-cfg && echo $$libs)
|
||||||
HOSTCXXFLAGS_qconf.o = $(shell . $(obj)/.qconf-cfg && echo $$cflags)
|
HOSTCXXFLAGS_qconf.o = $(shell . $(obj)/.qconf-cfg && echo $$cflags)
|
||||||
@@ -196,7 +195,7 @@ $(obj)/%.moc: $(src)/%.h $(obj)/.qconf-cfg
|
|||||||
|
|
||||||
# gconf: Used for the gconfig target based on GTK+
|
# gconf: Used for the gconfig target based on GTK+
|
||||||
hostprogs-y += gconf
|
hostprogs-y += gconf
|
||||||
gconf-objs := gconf.o zconf.tab.o
|
gconf-objs := gconf.o $(common-objs)
|
||||||
|
|
||||||
HOSTLDLIBS_gconf = $(shell . $(obj)/.gconf-cfg && echo $$libs)
|
HOSTLDLIBS_gconf = $(shell . $(obj)/.gconf-cfg && echo $$libs)
|
||||||
HOSTCFLAGS_gconf.o = $(shell . $(obj)/.gconf-cfg && echo $$cflags)
|
HOSTCFLAGS_gconf.o = $(shell . $(obj)/.gconf-cfg && echo $$cflags)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <limits.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
* Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
|
* Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <errno.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ const char *str_get(struct gstr *gs);
|
|||||||
/* symbol.c */
|
/* symbol.c */
|
||||||
void sym_clear_all_valid(void);
|
void sym_clear_all_valid(void);
|
||||||
struct symbol *sym_choice_default(struct symbol *sym);
|
struct symbol *sym_choice_default(struct symbol *sym);
|
||||||
|
struct property *sym_get_range_prop(struct symbol *sym);
|
||||||
const char *sym_get_string_default(struct symbol *sym);
|
const char *sym_get_string_default(struct symbol *sym);
|
||||||
struct symbol *sym_check_deps(struct symbol *sym);
|
struct symbol *sym_check_deps(struct symbol *sym);
|
||||||
struct property *prop_alloc(enum prop_type type, struct symbol *sym);
|
struct property *prop_alloc(enum prop_type type, struct symbol *sym);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
//
|
//
|
||||||
// Copyright (C) 2018 Masahiro Yamada <yamada.masahiro@socionext.com>
|
// Copyright (C) 2018 Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||||
|
|
||||||
|
#include <ctype.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -9,6 +10,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
|
#include "lkc.h"
|
||||||
|
|
||||||
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
|
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
|
||||||
|
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ static struct property *sym_get_default_prop(struct symbol *sym)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct property *sym_get_range_prop(struct symbol *sym)
|
struct property *sym_get_range_prop(struct symbol *sym)
|
||||||
{
|
{
|
||||||
struct property *prop;
|
struct property *prop;
|
||||||
|
|
||||||
|
|||||||
@@ -731,8 +731,4 @@ void zconfdump(FILE *out)
|
|||||||
|
|
||||||
#include "zconf.lex.c"
|
#include "zconf.lex.c"
|
||||||
#include "util.c"
|
#include "util.c"
|
||||||
#include "confdata.c"
|
|
||||||
#include "expr.c"
|
|
||||||
#include "symbol.c"
|
|
||||||
#include "menu.c"
|
#include "menu.c"
|
||||||
#include "preprocess.c"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user