Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Support for lwIP switch on/off in Makefile
[palacios.git] / geekos / build / Makefile
index d41af2e..0601b6d 100644 (file)
@@ -51,20 +51,16 @@ VPATH := $(PROJECT_ROOT)/src
 
 
 
-#
-#TCPSTACK, uIP is used currently
-#
-TCPSTACK=UIP
 
 #
-#TCPSTACK, uIP is used currently
+#uIP, ON -- used, OFF -- not used
 #
 UIP=OFF
 
 #
 #LWIP, ON -- used, OFF -- not used
 #
-LWIP=ON
+LWIP=OFF
 
 
 #
@@ -142,17 +138,11 @@ COMMON_C_SRCS := fmtout.c string.c memmove.c
 COMMON_C_OBJS := $(COMMON_C_SRCS:%.c=common/%.o)
 
 
-
-
 V3_LD_FLAGS := -L./palacios/
 #V3_LIBS := -lxed -lv3vee
 V3_LIBS := ./palacios/libxed.a ./palacios/libv3vee.a ./palacios/libxed.a ./palacios/libv3vee.a
 
 
-
-
-
-
 ifeq ($(UIP),ON)
        UIP_C_SRCS := psock.c timer.c uip_arp.c uip.c uip-fw.c uiplib.c uip-neighbor.c uip-split.c resolv.c
        UIP_C_OBJS := $(UIP_C_SRCS:%.c=net/%.o)
@@ -163,7 +153,7 @@ endif
 
 ifeq ($(LWIP),ON)
        LWIP_OBJS := lwip/*.o
-       CC_LWIP_OPTS := -I$(PROJECT_ROOT)/include/lwip  -I$(PROJECT_ROOT)/include/lwip/ipv4 -I$(PROJECT_ROOT)/include/libc -DLWIP_DEBUG
+       CC_LWIP_OPTS := -I$(PROJECT_ROOT)/include/lwip  -I$(PROJECT_ROOT)/include/lwip/ipv4 -I$(PROJECT_ROOT)/include/libc -DLWIP_DEBUG -DLWIP
 else
        LWIP_OBJS := 
        CC_LWIP_OPTS :=
@@ -287,6 +277,10 @@ net/%.o : net/%.c
 all : $(ALL_TARGETS)
 
 
+force_lwip:
+       (cd ../src/lwip/build; make clean; make)
+
+
 #geekos/vmx_lowlevel.o: $(PROJECT_ROOT)/src/geekos/vmx_lowlevel.asm
 #      $(NASM) -O99 \
 #      -f elf \
@@ -340,7 +334,7 @@ geekos/kernel.bin : geekos/kernel.exe
        $(PAD) $@ 512
 
 # The kernel executable and symbol map.
-geekos/kernel.exe : $(KERNEL_OBJS) $(COMMON_C_OBJS) $(TCPSTACK_OBJS)
+geekos/kernel.exe : $(KERNEL_OBJS) $(COMMON_C_OBJS) force_lwip
        $(TARGET_LD) -o geekos/kernel.exe -Ttext $(KERNEL_BASE_ADDR) -e $(KERNEL_ENTRY) \
                $(V3_LD_FLAGS) \
                $(KERNEL_OBJS) $(COMMON_C_OBJS) $(TCPSTACK_OBJS) $(V3_LIBS) -b binary ./palacios/vm_kernel