Makefile.kmk revision 6a461badd9da2d39690a819ccad14e03781d8c4b
2N/A# $Id$
2N/A## @file
2N/A#
2N/A
2N/A#
2N/A# Copyright (C) 2006-2012 Oracle Corporation
2N/A#
2N/A# This file is part of VirtualBox Open Source Edition (OSE), as
2N/A# available from http://www.virtualbox.org. This file is free software;
2N/A# you can redistribute it and/or modify it under the terms of the GNU
2N/A# General Public License (GPL) as published by the Free Software
2N/A# Foundation, in version 2 as it comes in the "COPYING" file of the
2N/A# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
2N/A# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
2N/A#
2N/A
2N/ASUB_DEPTH = ../../../..
2N/Ainclude $(KBUILD_PATH)/subheader.kmk
2N/A#
2N/A# Disable Slirp based service.
2N/A#ifdef VBOX_WITH_HARDENING
2N/A# PROGRAMS += VBoxNetSlirpNATHardened
2N/A# DLLS += VBoxNetSlirpNAT
2N/A#else
2N/A# PROGRAMS += VBoxNetSlirpNAT
2N/A#endif
2N/AVBoxNetSlirpNAT_TEMPLATE =
2N/AVBoxNetSlirpNAT_TEMPLATE := VBOXR3$(if-expr defined(VBOX_WITH_HARDENING),,EXE)
2N/AVBoxNetSlirpNAT_INCS = ../../Devices/Network/slirp
2N/AVBoxNetSlirpNAT_DEFS = VBOX_WITH_NAT_SERVICE
2N/AVBoxNetSlirpNAT_SOURCES += VBoxNetSlirpNAT.cpp
2N/AVBoxNetSlirpNAT_DEFS += VBOX_WITH_NAT_SERVICE
2N/A
2N/A#define def_vbox_slirp_service_cflags
2N/A# $(file)_DEFS += VBOX_WITH_NAT_SERVICE
2N/A#endef
2N/A
2N/Adefine def_vbox_nat_network_service_sources
2N/A $(1)_SOURCES += $2/$3
2N/Aendef
2N/A
2N/Adefine def_vbox_nat_network_service_incs
2N/A $(1)_INCS += $2/$3
2N/Aendef
2N/A
2N/AVBOX_NOT_IN_NATSERVICE = Network/DrvNAT.cpp
2N/A$(foreach file,$(filter-out $(VBOX_NOT_IN_NATSERVICE), $(VBOX_SLIRP_SOURCES)),$(eval $(call def_vbox_nat_network_service_sources,VBoxNetSlirpNAT,../../Devices,$(file))))
2N/A$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxSlirpNetNAT,../../Devices,$(file))))
2N/A$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetSlirpNAT,../../Devices,$(file))))
2N/A
2N/A$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
2N/A$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_bsd_cflags,../../Devices/Network)))
2N/A$(foreach file,$(addprefix ../../Devices/, $(filter-out $(VBOX_WITH_NAT_SERVICE), $(VBOX_SLIRP_SOURCES))),$(eval $(call def_vbox_slirp_service_cflags, ../../Devices/Network)))
2N/A$(foreach file,$(addprefix ../../Devices/, $(filter-out $(VBOX_WITH_NAT_SERVICE), $(VBOX_SLIRP_SOURCES))),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
2N/A
2N/A$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_cflags, ../../Devices/Network)))
2N/A
2N/A
2N/A$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_alias_cflags, ../../Devices/Network)))
2N/A
2N/AVBoxNetSlirpNAT_SOURCES += ../NetLib/VBoxNetBaseService.cpp
2N/A
2N/AVBoxNetSlirpNAT_LIBS = \
2N/A $(LIB_RUNTIME)
2N/AVBoxNetSlirpNAT_LDFLAGS.win = /SUBSYSTEM:windows
2N/A
2N/Aifdef VBOX_WITH_LWIP_NAT
2N/A
2N/Aifdef VBOX_WITH_HARDENING
2N/A PROGRAMS += VBoxNetLwipNATHardened
2N/A DLLS += VBoxNetLwipNAT
2N/Aelse
2N/A PROGRAMS += VBoxNetLwipNAT
2N/Aendif
2N/A
2N/Aifdef VBOX_WITH_HARDENING
2N/A VBoxNetLwipNATHardened_SOURCES += VBoxNetNATHardened.cpp
2N/A VBoxNetLwipNATHardened_DEFS += SERVICE_NAME=\"VBoxNetNAT\"
2N/A VBoxNetLwipNATHardened_TEMPLATE=VBOXR3HARDENEDEXE
2N/A VBoxNetLwipNATHardened_NAME = VBoxNetNAT
2N/Aendif
2N/A
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
#
# Note: not spaces please in "Devices,$("
#
$(foreach file,$(LWIP_SOURCES) $(LWIP_NAT_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
ifdef VBOX_WITH_TESTCASES
PROGRAMS += tstNetPfAddressPortPairParse
tstNetPfAddressPortPairParse_TEMPLATE = VBOXR3TSTEXE
#tstNetPfAddressPortPairParse_INSTTYPE = none
tstNetPfAddressPortPairParse_SOURCES = ../NetLib/testcase/tstNetPfAddressPortPairParse.cpp \
../NetLib/VBoxNetPortForwardString.cpp
endif
include $(FILE_KBUILD_SUB_FOOTER)