summaryrefslogtreecommitdiff
path: root/kconfig/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'kconfig/Makefile.in')
-rw-r--r--kconfig/Makefile.in124
1 files changed, 124 insertions, 0 deletions
diff --git a/kconfig/Makefile.in b/kconfig/Makefile.in
new file mode 100644
index 0000000..403d04b
--- /dev/null
+++ b/kconfig/Makefile.in
@@ -0,0 +1,124 @@
+#-----------------------------------------------------------
+# Hmmm! Cheesy build!
+# Or: where I can unveil my make-fu... :-]
+
+__silent = $(if $(V),,@printf ' %-7s %s\n' '$1' '$(if $2,$2,$(strip $<))' && )
+__silent_rm = $(call __silent,RM,$1)rm -f $1
+
+PROGS = conf mconf nconf
+
+all: $(PROGS)
+ @true # Just be silent, you fscking son of a fscking beach...
+
+# Build flags
+CFLAGS = -DCONFIG_=\"CT_\" -DPACKAGE="\"crosstool-NG $(VERSION)\"" \
+ -DGPERF_LEN_TYPE="$(gperf_len_type)"
+LDFLAGS = $(INTL_LIBS)
+
+ifneq (@DPKG_BUILDFLAGS@,)
+CFLAGS += $(shell @DPKG_BUILDFLAGS@ --get CPPFLAGS) \
+ $(shell @DPKG_BUILDFLAGS@ --get CFLAGS)
+LDFLAGS += $(shell @DPKG_BUILDFLAGS@ --get LDFLAGS)
+endif
+
+# Compiler flags to use gettext
+ifeq ($(gettext),)
+INTL_CFLAGS = -Wno-format-security -DKBUILD_NO_NLS
+endif
+
+# Compiler and linker flags to use ncurses
+NCURSES_CFLAGS = -DCURSES_LOC="\"$(curses_hdr)\""
+NCURSES_LDFLAGS = $(LIBS)
+
+# Common source files
+COMMON_SRC = zconf.tab.c
+COMMON_OBJ = $(patsubst %.c,%.o,$(COMMON_SRC))
+COMMON_DEP = $(patsubst %.o,%.dep,$(COMMON_OBJ))
+$(COMMON_OBJ) $(COMMON_DEP): CFLAGS += $(INTL_CFLAGS) -I.
+
+# lxdialog source files
+LX_SRC = $(sort $(wildcard lxdialog/*.c))
+LX_OBJ = $(patsubst %.c,%.o,$(LX_SRC))
+LX_DEP = $(patsubst %.o,%.dep,$(LX_OBJ))
+$(LX_OBJ) $(LX_DEP): CFLAGS += $(NCURSES_CFLAGS) $(INTL_CFLAGS)
+
+# What's needed to build 'conf'
+conf_SRC = conf.c
+conf_OBJ = $(patsubst %.c,%.o,$(conf_SRC))
+conf_DEP = $(patsubst %.o,%.dep,$(conf_OBJ))
+$(conf_OBJ) $(conf_DEP): CFLAGS += $(INTL_CFLAGS)
+
+# What's needed to build 'mconf'
+mconf_SRC = mconf.c
+mconf_OBJ = $(patsubst %.c,%.o,$(mconf_SRC))
+mconf_DEP = $(patsubst %.c,%.dep,$(mconf_SRC))
+$(mconf_OBJ) $(mconf_DEP): CFLAGS += $(NCURSES_CFLAGS) $(INTL_CFLAGS)
+mconf: LDFLAGS += $(NCURSES_LDFLAGS)
+
+# What's needed to build 'nconf'
+nconf_SRC = nconf.c nconf.gui.c
+nconf_OBJ = $(patsubst %.c,%.o,$(nconf_SRC))
+nconf_DEP = $(patsubst %.c,%.dep,$(nconf_SRC))
+$(nconf_OBJ) $(nconf_DEP): CFLAGS += $(INTL_CFLAGS) -I/usr/include/ncurses
+nconf: LDFLAGS += -lmenu -lpanel $(LIBS)
+
+# These are generated files:
+ALL_OBJS = $(sort $(COMMON_OBJ) $(LX_OBJ) $(conf_OBJ) $(mconf_OBJ) $(nconf_OBJ))
+ALL_DEPS = $(sort $(COMMON_DEP) $(LX_DEP) $(conf_DEP) $(mconf_DEP) $(nconf_DEP))
+
+# Cheesy auto-dependencies
+DEPS = $(COMMON_DEP)
+DEPS += $(conf_DEP)
+DEPS += $(mconf_DEP) $(LX_DEP)
+DEPS += $(nconf_DEP)
+-include $(DEPS)
+
+# Build the dependency for C files
+%.dep: %.c
+ $(call __silent,DEP,$@)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MM $< |$(sed) -r -e 's|([^:]+.o)( *:+)|$(<:.c=.o) $@\2|;' >$@
+
+# Generate the grammar parser
+zconf.tab.o: zconf.tab.c zconf.hash.c zconf.lex.c
+zconf.tab.dep: zconf.tab.c zconf.hash.c zconf.lex.c
+
+.PRECIOUS: zconf.tab.c
+zconf.tab.c: zconf.y
+ $(call __silent,BISON)bison -l -b zconf -p zconf $<
+
+zconf.hash.c: zconf.gperf
+ $(call __silent,GPERF)$(gperf) -C < $< > $@
+
+zconf.lex.c: zconf.l
+ $(call __silent,LEX)flex -L -Pzconf -o$@ $<
+
+# Build C files
+%.o: %.c
+ $(call __silent,CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
+
+# Actual link
+mconf: $(COMMON_OBJ) $(LX_OBJ) $(mconf_OBJ)
+ $(call __silent,LD,$@)$(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS)
+
+nconf: $(COMMON_OBJ) $(nconf_OBJ)
+ $(call __silent,LD,$@)$(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS)
+
+conf: $(COMMON_OBJ) $(conf_OBJ)
+ $(call __silent,LD,$@)$(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS)
+
+#-----------------------------------------------------------
+# Installation
+install: $(patsubst %,install-%,$(PROGS)) install-kconfig.mk
+
+$(patsubst %,install-%,$(PROGS)): install-%: %
+ $(call __silent,INSTALL,$<)install -m 0755 $< $(DESTDIR)/$<
+
+install-kconfig.mk: kconfig.mk
+ $(call __silent,INSTALL,$<)install -m 0644 $< $(DESTDIR)/$<
+
+#-----------------------------------------------------------
+# Cleaning up the mess...
+
+clean:
+ $(call __silent,RM,objs)rm -f $(ALL_OBJS) $(ALL_DEPS)
+ $(call __silent_rm,$(PROGS))
+ $(call __silent_rm,zconf.tab.c zconf.hash.c zconf.lex.c lex.backup)