aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/Makefile
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-01-21 11:20:52 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-01-21 11:20:52 +0000
commit0464a12749f9b868bd681cbd93c3b3227e23ea8a (patch)
tree21a66419dd63914f00f0ea5eaab8c4a168657be1 /extras/mini-os/Makefile
parentafb13d4890c7b505865b8264247c2049fd0c2227 (diff)
downloadxen-0464a12749f9b868bd681cbd93c3b3227e23ea8a.tar.gz
xen-0464a12749f9b868bd681cbd93c3b3227e23ea8a.tar.bz2
xen-0464a12749f9b868bd681cbd93c3b3227e23ea8a.zip
minios: add lwIP 1.3.0 support
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Diffstat (limited to 'extras/mini-os/Makefile')
-rw-r--r--extras/mini-os/Makefile26
1 files changed, 26 insertions, 0 deletions
diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile
index a8670fbd45..7a7cd1aab4 100644
--- a/extras/mini-os/Makefile
+++ b/extras/mini-os/Makefile
@@ -47,6 +47,13 @@ EXTRA_INC =
# This must be before include minios.mk!
include $(TARGET_ARCH_DIR)/arch.mk
+ifneq ($(LWIPDIR),)
+lwip=y
+DEF_CFLAGS += -DHAVE_LWIP
+DEF_CFLAGS += -I$(LWIPDIR)/src/include
+DEF_CFLAGS += -I$(LWIPDIR)/src/include/ipv4
+endif
+
# Include common mini-os makerules.
include minios.mk
@@ -90,6 +97,24 @@ links: $(ARCH_LINKS)
arch_lib:
$(MAKE) --directory=$(TARGET_ARCH_DIR) || exit 1;
+ifeq ($(lwip),y)
+# lwIP library
+LWC := $(shell find $(LWIPDIR)/ -type f -name '*.c')
+LWC := $(filter-out %6.c %ip6_addr.c %ethernetif.c, $(LWC))
+LWC += lwip-arch.c lwip-net.c
+LWO := $(patsubst %.c,%.o,$(LWC))
+
+lwip.a: $(LWO)
+ $(RM) $@
+ $(AR) cqs $@ $^
+
+OBJS += lwip.a
+
+OBJS := $(filter-out $(LWO), $(OBJS))
+else
+OBJS := $(filter-out daytime.o lwip%.o, $(OBJS))
+endif
+
$(TARGET): links $(OBJS) arch_lib
$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@.o
$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
@@ -107,6 +132,7 @@ clean: arch_clean
done
rm -f *.o *~ core $(TARGET).elf $(TARGET).raw $(TARGET) $(TARGET).gz
find . -type l | xargs rm -f
+ $(RM) lwip.a $(LWO)
rm -f tags TAGS