Makefile.kmk revision a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8
# $Id$
## @file
#
#
# Copyright (C) 2006-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
SUB_DEPTH = ../../../..
include $(KBUILD_PATH)/subheader.kmk
define def_vbox_nat_network_service_sources
$(1)_SOURCES += $2/$3
endef
define def_vbox_nat_network_service_incs
$(1)_INCS += $2/$3
endef
ifdef VBOX_WITH_LWIP_NAT
ifdef VBOX_WITH_HARDENING
PROGRAMS += VBoxNetLwipNATHardened
DLLS += VBoxNetLwipNAT
else
PROGRAMS += VBoxNetLwipNAT
endif
ifdef VBOX_WITH_HARDENING
VBoxNetLwipNATHardened_SOURCES += VBoxNetNATHardened.cpp
VBoxNetLwipNATHardened_DEFS += SERVICE_NAME=\"VBoxNetNAT\"
VBoxNetLwipNATHardened_TEMPLATE=VBOXR3HARDENEDEXE
VBoxNetLwipNATHardened_NAME = VBoxNetNAT
endif
VBoxNetLwipNAT_TEMPLATE =
VBoxNetLwipNAT_TEMPLATE := VBOXMAIN$(if-expr defined(VBOX_WITH_HARDENING),DLL,CLIENTEXE)
VBoxNetLwipNAT_NAME = VBoxNetNAT
VBoxNetLwipNAT_INCS += ../../Devices/Network \
../../Devices/Network/lwip-new/vbox # testproxy.h
VBoxNetLwipNAT_DEFS += ${LWIP_DEFS}
VBoxNetLwipNAT_DEFS.win += _WIN32_WINNT=0x501 # Windows XP
VBoxNetLwipNAT_SOURCES += VBoxNetLwipNAT.cpp \
../NetLib/VBoxNetBaseService.cpp \
../NetLib/VBoxNetPortForwardString.cpp
VBoxNetLwipNAT_LIBS = \
$(LIB_RUNTIME)
VBoxNetLwipNAT_LIBS.solaris += socket nsl
VBoxNetLwipNAT_LDFLAGS.win = /SUBSYSTEM:windows
VBoxNetLwipNAT_SOURCES += \
proxy_pollmgr.c \
proxy_rtadvd.c \
proxytest.c \
pxremap.c \
pxtcp.c \
pxudp.c \
fwtcp.c \
fwudp.c \
portfwd.c \
proxy_dhcp6ds.c \
proxy_tftpd.c
VBoxNetLwipNAT_SOURCES.darwin += rtmon_bsd.c
VBoxNetLwipNAT_SOURCES.freebsd += rtmon_bsd.c
VBoxNetLwipNAT_SOURCES.linux += rtmon_linux.c
VBoxNetLwipNAT_SOURCES.solaris += rtmon_bsd.c
VBoxNetLwipNAT_SOURCES.win += rtmon_win.c
VBoxNetLwipNAT_SOURCES.win += \
RTWinPoll.cpp \
RTWinSocketPair.cpp
#
# Note: not spaces please in "Devices,$("
#
$(foreach file,$(LWIP_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetLwipNAT, ../../Devices,$(file))))
$(foreach incs,$(LWIP_INCS),$(eval $(call def_vbox_nat_network_service_incs, VBoxNetLwipNAT, ../../Devices,$(incs))))
endif
include $(FILE_KBUILD_SUB_FOOTER)