Makefile.kmk revision 1b23da133a9fa48adc1ea464ef9f17ceeacf6742
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
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncifdef VBOX_WITH_HARDENING
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync PROGRAMS += VBoxNetLwipNATHardened
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync DLLS += VBoxNetLwipNAT
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncelse
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync PROGRAMS += VBoxNetLwipNAT
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncendif
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncifdef VBOX_WITH_HARDENING
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync VBoxNetLwipNATHardened_SOURCES += VBoxNetNATHardened.cpp
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync VBoxNetLwipNATHardened_DEFS += SERVICE_NAME=VBoxNetLwipNAT
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync VBoxNetLwipNATHardened_TEMPLATE=VBOXR3EXE
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncendif
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncPROGRAMS += VBoxNetLwipNAT
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_TEMPLATE =
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncVBoxNetLwipNAT_TEMPLATE := VBOXMAINCLIENT$(if-expr defined(VBOX_WITH_HARDENING),DLL,EXE)
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_INCS += ../../Devices/Network \
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync ../../Devices/Network/lwip-new/vbox # testproxy.h
1d985a21a9c5e227f3fce03d34198e66c141f870vboxsyncVBoxNetLwipNAT_DEFS += ${LWIP_DEFS}
1d985a21a9c5e227f3fce03d34198e66c141f870vboxsyncVBoxNetLwipNAT_DEFS.win += _WIN32_WINNT=0x501 # Windows XP
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_SOURCES += VBoxNetLwipNAT.cpp \
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync ../NetLib/VBoxNetBaseService.cpp \
a503c2437be421c711f33a915695f3c6a31227e5vboxsync ../NetLib/VBoxNetPortForwardString.cpp
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_LIBS = \
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync $(LIB_RUNTIME)
6418539e7e63a36f6c1f2e6170e4e881a3693947vboxsyncVBoxNetLwipNAT_LIBS.solaris += socket nsl
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_LDFLAGS.win = /SUBSYSTEM:windows
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync#
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# Note: not spaces please in "Devices,$("
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync#
80f885b31199024580c2bd811d9287aae80752f8vboxsync$(foreach file,$(LWIP_SOURCES) $(LWIP_NAT_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
a50808e8a35d9593432271572fb44ab9f1455395vboxsyncifdef VBOX_WITH_TESTCASES
6d73c66200a04223ae56a22ff221ec32193717a5vboxsyncPROGRAMS += tstNetPfAddressPortPairParse
6d73c66200a04223ae56a22ff221ec32193717a5vboxsync
6d73c66200a04223ae56a22ff221ec32193717a5vboxsynctstNetPfAddressPortPairParse_TEMPLATE = VBOXR3TSTEXE
6d73c66200a04223ae56a22ff221ec32193717a5vboxsync#tstNetPfAddressPortPairParse_INSTTYPE = none
6d73c66200a04223ae56a22ff221ec32193717a5vboxsynctstNetPfAddressPortPairParse_SOURCES = ../NetLib/testcase/tstNetPfAddressPortPairParse.cpp \
6d73c66200a04223ae56a22ff221ec32193717a5vboxsync ../NetLib/VBoxNetPortForwardString.cpp
a50808e8a35d9593432271572fb44ab9f1455395vboxsyncendif
6d73c66200a04223ae56a22ff221ec32193717a5vboxsync
772269936494ffaddd0750ba9e28e805ba81398cvboxsyncinclude $(FILE_KBUILD_SUB_FOOTER)