diff --git a/Makefile b/Makefile
index 8aeb72664304f3b37ec646992cd07d2e8bbc05c4..51c2f447445f284182cd32ce68d8b0ea5f1b9c2c 100644
--- a/Makefile
+++ b/Makefile
@@ -57,7 +57,9 @@ OBJS_WRC = 	wrc_main.o \
 PTP_NOPOSIX = ptp-noposix
 
 INCLUDE_DIRS = -I$(PTP_NOPOSIX)/wrsw_hal -I$(PTP_NOPOSIX)/libptpnetif -Isoftpll -Iinclude
-					 
+
+CFLAGS_EB = -DWITH_ETHERBONE=$(WITH_ETHERBONE)
+
 CFLAGS_PTPD  = -ffreestanding -DPTPD_FREESTANDING -DWRPC_EXTRA_SLIM -DPTPD_MSBF -DPTPD_DBG \
 							 -DPTPD_NO_DAEMON -DNEW_SINGLE_WRFSM -DPTPD_TRACE_MASK=0 \
 							 -include $(PTP_NOPOSIX)/compat.h \
@@ -95,7 +97,7 @@ OBJDUMP=$(CROSS_COMPILE)objdump
 OBJCOPY=$(CROSS_COMPILE)objcopy
 SIZE=$(CROSS_COMPILE)size
 					 
-CFLAGS= $(CFLAGS_PLATFORM) $(CFLAGS_PTPD) $(INCLUDE_DIRS) -ffunction-sections -fdata-sections -Os -Iinclude -include include/trace.h $(PTPD_CFLAGS) -I$(PTP_NOPOSIX)/PTPWRd -I. -Isoftpll
+CFLAGS= $(CFLAGS_PLATFORM) $(CFLAGS_EB) $(CFLAGS_PTPD) $(INCLUDE_DIRS) -ffunction-sections -fdata-sections -Os -Iinclude -include include/trace.h $(PTPD_CFLAGS) -I$(PTP_NOPOSIX)/PTPWRd -I. -Isoftpll
 LDFLAGS= $(LDFLAGS_PLATFORM) -ffunction-sections -fdata-sections -Wl,--gc-sections -Os -Iinclude
 OBJS=$(OBJS_PLATFORM) $(OBJS_WRC) $(OBJS_PTPD) $(OBJS_SHELL) $(OBJS_TESTS) $(OBJS_LIB) $(OBJS_SOCKITOWM) $(OBJS_SOFTPLL) $(OBJS_DEV)
 OUTPUT=wrc
diff --git a/shell/shell.c b/shell/shell.c
index d3edb2c78ffb7aebb4581f47a507365e837a2474..c0470a74519a3bbcddc7210eaca2b4899f706df3 100644
--- a/shell/shell.c
+++ b/shell/shell.c
@@ -45,7 +45,9 @@ static const struct shell_cmd cmds_list[] = {
 		{ "saveenv",				cmd_saveenv },
 		{ "time",						cmd_time },
 		{ "sfp",						cmd_sfp },
+#if WITH_ETHERBONE
 		{ "ip",							cmd_ip },
+#endif
 		{ "mac",						cmd_mac },
 	
 		{ NULL,			NULL }
diff --git a/shell/shell.mk b/shell/shell.mk
index 22a052831a5e6c1fad15a34670a415de9b235e20..057142dbc6546c21e1d4dbb1d13ba280ac3687ef 100644
--- a/shell/shell.mk
+++ b/shell/shell.mk
@@ -9,5 +9,8 @@ OBJS_SHELL = 	shell/shell.o \
 							shell/cmd_measure_t24p.o \
 							shell/cmd_time.o \
 							shell/cmd_gui.o \
-							shell/cmd_ip.o \
 							shell/cmd_mac.o
+
+ifneq ($(WITH_ETHERBONE), 0)
+OBJS_SHELL += shell/cmd_ip.o
+endif
diff --git a/wrc_main.c b/wrc_main.c
index 9b322d4bd923a771ca40e073a7994b91fdc6ccc4..d6b9b75da9473ee9abea340010d6c2a095abecf3 100644
--- a/wrc_main.c
+++ b/wrc_main.c
@@ -60,8 +60,10 @@ void wrc_initialize()
   pps_gen_init();
   wrc_ptp_init();
   
+#if WITH_ETHERBONE
   ipv4_init("wru1");
   arp_init("wru1");
+#endif
 }
 
 #define LINK_WENT_UP 1
@@ -147,14 +149,18 @@ int main(void)
 
     switch (l_status)
     {
+#if WITH_ETHERBONE
       case LINK_WENT_UP:
         needIP = 1;
         break;
+#endif
         
       case LINK_UP:
         update_rx_queues();
+#if WITH_ETHERBONE
         ipv4_poll();
         arp_poll();
+#endif
         break;
 
       case LINK_WENT_DOWN: