Makefile.kmk revision 2622c26c6b4105d944a29c5e2c77b6ef26e10101
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
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync#
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# Disable Slirp based service.
4acc8b08449be3ee3745e66d85e79f474098870bvboxsync#ifdef VBOX_WITH_HARDENING
4acc8b08449be3ee3745e66d85e79f474098870bvboxsync# PROGRAMS += VBoxNetNATHardened
4acc8b08449be3ee3745e66d85e79f474098870bvboxsync# DLLS += VBoxNetNAT
4acc8b08449be3ee3745e66d85e79f474098870bvboxsync#else
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# PROGRAMS += VBoxNetNAT
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync#endif
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncVBoxNetNAT_TEMPLATE =
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncVBoxNetNAT_TEMPLATE := VBOXR3$(if-expr defined(VBOX_WITH_HARDENING),,EXE)
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncVBoxNetNAT_INCS = ../../Devices/Network/slirp
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncVBoxNetNAT_DEFS = VBOX_WITH_NAT_SERVICE
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncVBoxNetNAT_SOURCES += VBoxNetNAT.cpp
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncVBoxNetNAT_DEFS += VBOX_WITH_NAT_SERVICE
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync#define def_vbox_slirp_service_cflags
20fc4a350a4a8e56ffaac6cf57dcd677a7ac36c5vboxsync# $(file)_DEFS += VBOX_WITH_NAT_SERVICE
38ce01f0174eaa361f03608d5576e517a615a9dbvboxsync#endef
20fc4a350a4a8e56ffaac6cf57dcd677a7ac36c5vboxsync
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsyncdefine def_vbox_nat_network_service_sources
1b23da133a9fa48adc1ea464ef9f17ceeacf6742vboxsync $(1)_SOURCES += $2/$3
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncendef
38ce01f0174eaa361f03608d5576e517a615a9dbvboxsync
c550c12592dedfe03ef31ce25305c688073dc72cvboxsyncdefine def_vbox_nat_network_service_incs
a24a5c1de771bb93e5b0fe0adb3e16dc6d835838vboxsync $(1)_INCS += $2/$3
177727c096bdc6d5749f5f95c7307d9e6af5653dvboxsyncendef
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBOX_NOT_IN_NATSERVICE = Network/DrvNAT.cpp
0e1eea910a209a7a8edeed71c9be066a02f59202vboxsync$(foreach file,$(filter-out $(VBOX_NOT_IN_NATSERVICE), $(VBOX_SLIRP_SOURCES)),$(eval $(call def_vbox_nat_network_service_sources,VBoxNetNAT,../../Devices,$(file))))
0e1eea910a209a7a8edeed71c9be066a02f59202vboxsync$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetNAT,../../Devices,$(file))))
0e1eea910a209a7a8edeed71c9be066a02f59202vboxsync$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetNAT,../../Devices,$(file))))
6a9535fac6406fce9d72b6e20c2b8be966da7e38vboxsync
6a9535fac6406fce9d72b6e20c2b8be966da7e38vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
0e1eea910a209a7a8edeed71c9be066a02f59202vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_bsd_cflags,../../Devices/Network)))
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync$(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)))
6418539e7e63a36f6c1f2e6170e4e881a3693947vboxsync
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_cflags, ../../Devices/Network)))
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync
2ac7f49e11a553a348be2be368bed8fd942820c4vboxsync
2ac7f49e11a553a348be2be368bed8fd942820c4vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_alias_cflags, ../../Devices/Network)))
2ac7f49e11a553a348be2be368bed8fd942820c4vboxsync
2ac7f49e11a553a348be2be368bed8fd942820c4vboxsyncVBoxNetNAT_SOURCES += ../NetLib/VBoxNetBaseService.cpp
2ac7f49e11a553a348be2be368bed8fd942820c4vboxsync
2ac7f49e11a553a348be2be368bed8fd942820c4vboxsyncVBoxNetNAT_LIBS = \
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsync $(LIB_RUNTIME)
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsyncVBoxNetNAT_LDFLAGS.win = /SUBSYSTEM:windows
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsync
f0c792e78a8bf77c28c7814441e514bea7c5362bvboxsyncifdef VBOX_WITH_LWIP_NAT
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsync
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsyncPROGRAMS += VBoxNetLwipNAT
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsyncVBoxNetLwipNAT_TEMPLATE =
2d5c2f8b7f8e7cfeb5eb272b1242e4258dcd64bevboxsyncVBoxNetLwipNAT_TEMPLATE := VBOXR3$(if-expr defined(VBOX_WITH_HARDENING),,EXE)
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsync#VBoxNetLwipNAT_INCS += ${LWIP_INCS}
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsyncVBoxNetLwipNAT_INCS += ../../Devices/Network \
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsync ../../Devices/Network/lwip-new/vbox # testproxy.h
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsyncVBoxNetLwipNAT_DEFS += ${LWIP_DEFS}
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsyncVBoxNetLwipNAT_SOURCES += VBoxNetLwipNAT.cpp \
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsync ../NetLib/VBoxNetBaseService.cpp \
9f8403c919ff34010f07a4e697c619fbfe832555vboxsync ../../Devices/Network/VBoxLwipCore.cpp
9f8403c919ff34010f07a4e697c619fbfe832555vboxsyncVBoxNetLwipNAT_LIBS = \
9f8403c919ff34010f07a4e697c619fbfe832555vboxsync $(LIB_RUNTIME)
9f8403c919ff34010f07a4e697c619fbfe832555vboxsyncVBoxNetLwipNAT_LDFLAGS.win = /SUBSYSTEM:windows
9f8403c919ff34010f07a4e697c619fbfe832555vboxsync
9f8403c919ff34010f07a4e697c619fbfe832555vboxsync#
9f8403c919ff34010f07a4e697c619fbfe832555vboxsync# Note: not spaces please in "Devices,$("
9f8403c919ff34010f07a4e697c619fbfe832555vboxsync#
c12ea5636f55fa8c4d8de7d0ccb870c5f8bcc231vboxsync$(foreach file,$(LWIP_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetLwipNAT, ../../Devices,$(file))))
c12ea5636f55fa8c4d8de7d0ccb870c5f8bcc231vboxsync
c12ea5636f55fa8c4d8de7d0ccb870c5f8bcc231vboxsync$(foreach incs,$(LWIP_INCS),$(eval $(call def_vbox_nat_network_service_incs, VBoxNetLwipNAT, ../../Devices,$(incs))))
c12ea5636f55fa8c4d8de7d0ccb870c5f8bcc231vboxsync
c12ea5636f55fa8c4d8de7d0ccb870c5f8bcc231vboxsyncendif
c12ea5636f55fa8c4d8de7d0ccb870c5f8bcc231vboxsync
c12ea5636f55fa8c4d8de7d0ccb870c5f8bcc231vboxsyncinclude $(FILE_KBUILD_SUB_FOOTER)
a218a3f92594b5f2beb9c8298c6fe6e3a8e502f8vboxsync