Makefile.kmk revision 38ce01f0174eaa361f03608d5576e517a615a9db
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync# $Id$
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync## @file
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync#
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync#
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync# Copyright (C) 2006-2012 Oracle Corporation
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync#
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync# available from http://www.virtualbox.org. This file is free software;
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync# you can redistribute it and/or modify it under the terms of the GNU
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync# General Public License (GPL) as published by the Free Software
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync#
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsyncSUB_DEPTH = ../../../..
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsyncinclude $(KBUILD_PATH)/subheader.kmk
d65680efa46fa49e8bf14e67b29b782510ff934cvboxsync#
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync# Disable Slirp based service.
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync#ifdef VBOX_WITH_HARDENING
456f370fcde010d585d9174df045978a6c9893c1vboxsync# PROGRAMS += VBoxNetNATHardened
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync# DLLS += VBoxNetNAT
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync#else
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync# PROGRAMS += VBoxNetNAT
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync#endif
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsyncVBoxNetNAT_TEMPLATE =
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsyncVBoxNetNAT_TEMPLATE := VBOXR3$(if-expr defined(VBOX_WITH_HARDENING),,EXE)
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsyncVBoxNetNAT_INCS = ../../Devices/Network/slirp
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsyncVBoxNetNAT_DEFS = VBOX_WITH_NAT_SERVICE
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsyncVBoxNetNAT_SOURCES += VBoxNetNAT.cpp
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsyncVBoxNetNAT_DEFS += VBOX_WITH_NAT_SERVICE
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync
3f8fa562bb916e87b0beff9ec2a4e241c643dcc8vboxsync#define def_vbox_slirp_service_cflags
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync# $(file)_DEFS += VBOX_WITH_NAT_SERVICE
5601bfbc69ea7f9194242feb79e89441d8d241f9vboxsync#endef
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync
e59bab2566ad92512870157a325472857d8b692cvboxsyncdefine def_vbox_nat_network_service_sources
e59bab2566ad92512870157a325472857d8b692cvboxsync $(1)_SOURCES += $2/$3
e59bab2566ad92512870157a325472857d8b692cvboxsyncendef
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsyncdefine def_vbox_nat_network_service_incs
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync $(1)_INCS += $2/$3
e59bab2566ad92512870157a325472857d8b692cvboxsyncendef
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync
34d1c9a81582b1acc9831732458231fcd8ddf2a5vboxsyncVBOX_NOT_IN_NATSERVICE = Network/DrvNAT.cpp
34d1c9a81582b1acc9831732458231fcd8ddf2a5vboxsync$(foreach file,$(filter-out $(VBOX_NOT_IN_NATSERVICE), $(VBOX_SLIRP_SOURCES)),$(eval $(call def_vbox_nat_network_service_sources,VBoxNetNAT,../../Devices,$(file))))
34d1c9a81582b1acc9831732458231fcd8ddf2a5vboxsync$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetNAT,../../Devices,$(file))))
34d1c9a81582b1acc9831732458231fcd8ddf2a5vboxsync$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetNAT,../../Devices,$(file))))
34d1c9a81582b1acc9831732458231fcd8ddf2a5vboxsync
34d1c9a81582b1acc9831732458231fcd8ddf2a5vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
34d1c9a81582b1acc9831732458231fcd8ddf2a5vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_bsd_cflags,../../Devices/Network)))
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync$(foreach file,$(addprefix ../../Devices/, $(filter-out $(VBOX_WITH_NAT_SERVICE), $(VBOX_SLIRP_SOURCES))),$(eval $(call def_vbox_slirp_service_cflags, ../../Devices/Network)))
fc3a35e9acf780b1098f7d03bc0df1ef09bca298vboxsync$(foreach file,$(addprefix ../../Devices/, $(filter-out $(VBOX_WITH_NAT_SERVICE), $(VBOX_SLIRP_SOURCES))),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_cflags, ../../Devices/Network)))
$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_alias_cflags, ../../Devices/Network)))
VBoxNetNAT_SOURCES += ../NetLib/VBoxNetBaseService.cpp
VBoxNetNAT_LIBS = \
$(LIB_RUNTIME)
VBoxNetNAT_LDFLAGS.win = /SUBSYSTEM:windows
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=VBoxNetLwipNAT
VBoxNetLwipNATHardened_TEMPLATE=VBOXR3HARDENEDEXE
endif
PROGRAMS += VBoxNetLwipNAT
VBoxNetLwipNAT_TEMPLATE =
VBoxNetLwipNAT_TEMPLATE := VBOXMAIN$(if-expr defined(VBOX_WITH_HARDENING),DLL,CLIENTEXE)
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)