Makefile.kmk revision 6d73c66200a04223ae56a22ff221ec32193717a5
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync# $Id$
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync## @file
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync#
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync#
772269936494ffaddd0750ba9e28e805ba81398cvboxsync# Copyright (C) 2006-2012 Oracle Corporation
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync#
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync# available from http://www.virtualbox.org. This file is free software;
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync# you can redistribute it and/or modify it under the terms of the GNU
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync# General Public License (GPL) as published by the Free Software
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync#
0b87790df72dd730ef361a1ce1a8d40ed4d15e10vboxsync
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncSUB_DEPTH = ../../../..
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync#
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# Disable Slirp based service.
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync#ifdef VBOX_WITH_HARDENING
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# PROGRAMS += VBoxNetNATHardened
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# DLLS += VBoxNetNAT
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync#else
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# PROGRAMS += VBoxNetNAT
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync#endif
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetNAT_TEMPLATE =
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetNAT_TEMPLATE := VBOXR3$(if-expr defined(VBOX_WITH_HARDENING),,EXE)
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetNAT_INCS = ../../Devices/Network/slirp
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetNAT_DEFS = VBOX_WITH_NAT_SERVICE
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetNAT_SOURCES += VBoxNetNAT.cpp
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetNAT_DEFS += VBOX_WITH_NAT_SERVICE
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync#define def_vbox_slirp_service_cflags
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync# $(file)_DEFS += VBOX_WITH_NAT_SERVICE
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync#endef
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncdefine def_vbox_nat_network_service_sources
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync $(1)_SOURCES += $2/$3
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncendef
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncdefine def_vbox_nat_network_service_incs
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync $(1)_INCS += $2/$3
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncendef
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBOX_NOT_IN_NATSERVICE = Network/DrvNAT.cpp
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync$(foreach file,$(filter-out $(VBOX_NOT_IN_NATSERVICE), $(VBOX_SLIRP_SOURCES)),$(eval $(call def_vbox_nat_network_service_sources,VBoxNetNAT,../../Devices,$(file))))
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetNAT,../../Devices,$(file))))
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetNAT,../../Devices,$(file))))
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_bsd_cflags,../../Devices/Network)))
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync$(foreach file,$(addprefix ../../Devices/, $(filter-out $(VBOX_WITH_NAT_SERVICE), $(VBOX_SLIRP_SOURCES))),$(eval $(call def_vbox_slirp_service_cflags, ../../Devices/Network)))
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync$(foreach file,$(addprefix ../../Devices/, $(filter-out $(VBOX_WITH_NAT_SERVICE), $(VBOX_SLIRP_SOURCES))),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_cflags, ../../Devices/Network)))
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_alias_cflags, ../../Devices/Network)))
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetNAT_SOURCES += ../NetLib/VBoxNetBaseService.cpp
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetNAT_LIBS = \
52831df2c11f241bf670f904d23a4fbb3ef5e5bbvboxsync $(LIB_RUNTIME)
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetNAT_LDFLAGS.win = /SUBSYSTEM:windows
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncifdef VBOX_WITH_LWIP_NAT
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncPROGRAMS += VBoxNetLwipNAT
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_TEMPLATE =
6d73c66200a04223ae56a22ff221ec32193717a5vboxsyncVBoxNetLwipNAT_TEMPLATE := VBOXMAINCLIENTEXE
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_INCS += ../../Devices/Network \
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync ../../Devices/Network/lwip-new/vbox # testproxy.h
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_DEFS += ${LWIP_DEFS}
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_SOURCES += VBoxNetLwipNAT.cpp \
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync ../NetLib/VBoxNetBaseService.cpp \
6d73c66200a04223ae56a22ff221ec32193717a5vboxsync ../NetLib/VBoxNetPortForwardString.cpp \
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync ../../Devices/Network/VBoxLwipCore.cpp
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_LIBS = \
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync $(LIB_RUNTIME)
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_LDFLAGS.win = /SUBSYSTEM:windows
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync#
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# Note: not spaces please in "Devices,$("
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync#
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync$(foreach file,$(LWIP_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetLwipNAT, ../../Devices,$(file))))
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync$(foreach incs,$(LWIP_INCS),$(eval $(call def_vbox_nat_network_service_incs, VBoxNetLwipNAT, ../../Devices,$(incs))))
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncendif
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
6d73c66200a04223ae56a22ff221ec32193717a5vboxsyncPROGRAMS += tstNetPfAddressPortPairParse
6d73c66200a04223ae56a22ff221ec32193717a5vboxsync
6d73c66200a04223ae56a22ff221ec32193717a5vboxsynctstNetPfAddressPortPairParse_TEMPLATE = VBOXR3TSTEXE
6d73c66200a04223ae56a22ff221ec32193717a5vboxsync#tstNetPfAddressPortPairParse_INSTTYPE = none
6d73c66200a04223ae56a22ff221ec32193717a5vboxsynctstNetPfAddressPortPairParse_SOURCES = ../NetLib/testcase/tstNetPfAddressPortPairParse.cpp \
6d73c66200a04223ae56a22ff221ec32193717a5vboxsync ../NetLib/VBoxNetPortForwardString.cpp
6d73c66200a04223ae56a22ff221ec32193717a5vboxsync
6d73c66200a04223ae56a22ff221ec32193717a5vboxsync
772269936494ffaddd0750ba9e28e805ba81398cvboxsyncinclude $(FILE_KBUILD_SUB_FOOTER)