Respect linker order
[coreboot.git] / payloads / libpayload / util / kconfig / Makefile
index a20ccedbe61237312b142ab47b8d2c9cfca36dc9..624233d28858101a07a0030bfee13a3a852cbc6a 100644 (file)
@@ -4,6 +4,12 @@
 
 PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
 
+_OS=$(shell uname -s |cut -c-7)
+regex-objs=
+ifeq ($(_OS),MINGW32)
+       regex-objs=regex.o
+endif
+
 Kconfig := Config.in
 
 xconfig: prepare $(objk)/qconf
@@ -113,8 +119,8 @@ HOST_EXTRACFLAGS += -DLOCALE
 lxdialog := lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o
 lxdialog += lxdialog/textbox.o lxdialog/yesno.o lxdialog/menubox.o
 
-conf-objs      := conf.o  zconf.tab.o
-mconf-objs     := mconf.o zconf.tab.o $(lxdialog)
+conf-objs      := conf.o  zconf.tab.o $(regex-objs)
+mconf-objs     := mconf.o zconf.tab.o $(lxdialog) $(regex-objs)
 kxgettext-objs := kxgettext.o zconf.tab.o
 
 hostprogs-y := conf qconf gconf kxgettext
@@ -133,11 +139,11 @@ endif
 
 ifeq ($(qconf-target),1)
 qconf-cxxobjs  := qconf.o
-qconf-objs     := kconfig_load.o zconf.tab.o
+qconf-objs     := kconfig_load.o zconf.tab.o $(regex-objs)
 endif
 
 ifeq ($(gconf-target),1)
-gconf-objs     := gconf.o kconfig_load.o zconf.tab.o
+gconf-objs     := gconf.o kconfig_load.o zconf.tab.o $(regex-objs)
 endif
 
 clean-files    := lkc_defs.h qconf.moc .tmp_qtcheck \
@@ -298,7 +304,7 @@ $(objk)/qconf: $(patsubst %,$(objk)/%,$(qconf-cxxobjs)) \
 $(objk)/gconf: $(patsubst %,$(objk)/%,$(gconf-objs))
        $(Q)$(HOSTCC) $(HOSTCFLAGS) $(HOSTLOADLIBES_gconf) -o $@ $^
 $(objk)/mconf: $(patsubst %,$(objk)/%,$(mconf-objs))
-       $(Q)$(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) $(HOST_LOADLIBES) -o $@ $^
+       $(Q)$(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -o $@ $^ $(HOST_LOADLIBES)
 $(objk)/conf: $(patsubst %,$(objk)/%,$(conf-objs))
        $(Q)$(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -o $@ $^
 
@@ -306,6 +312,8 @@ $(objk)/mconf.o: $(srck)/mconf.c
        $(Q)$(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -c -o $@ $<
 $(objk)/conf.o: $(srck)/conf.c
        $(Q)$(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -c -o $@ $<
+$(objk)/regex.o: $(srck)/regex.c
+       $(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -DHAVE_STRING_H -c -o $@ $<
 
 $(objk)/zconf.tab.o: $(objk)/zconf.tab.c $(objk)/lex.zconf.c \
                     $(objk)/zconf.hash.c
@@ -330,8 +338,8 @@ $(objk)/zconf.tab.c: $(srck)/zconf.tab.c_shipped
 
 $(objk)/lxdialog/lxdialog: $(objk)/dochecklxdialog \
                           $(patsubst %,$(objk)/lxdialog/%,$(lxdialog))
-       $(Q)$(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) $(HOST_LOADLIBES) \
-               $(patsubst %,$(objk)/lxdialog/%,$(lxdialog)) -o $@
+       $(Q)$(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) \
+               $(patsubst %,$(objk)/lxdialog/%,$(lxdialog)) $(HOST_LOADLIBES) -o $@
 $(objk)/lxdialog/%.o: $(srck)/lxdialog/%.c
        $(Q)$(HOSTCC) $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) $^ -c -o $@