Makefile.kmk revision 2622c26c6b4105d944a29c5e2c77b6ef26e10101
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# $Id$
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync## @file
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# Copyright (C) 2006-2012 Oracle Corporation
772269936494ffaddd0750ba9e28e805ba81398cvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# available from http://www.virtualbox.org. This file is free software;
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# you can redistribute it and/or modify it under the terms of the GNU
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# General Public License (GPL) as published by the Free Software
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncSUB_DEPTH = ../../../..
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncinclude $(KBUILD_PATH)/subheader.kmk
772269936494ffaddd0750ba9e28e805ba81398cvboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# Disable Slirp based service.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#ifdef VBOX_WITH_HARDENING
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# PROGRAMS += VBoxNetNATHardened
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# DLLS += VBoxNetNAT
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#else
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# PROGRAMS += VBoxNetNAT
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#endif
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetNAT_TEMPLATE =
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetNAT_TEMPLATE := VBOXR3$(if-expr defined(VBOX_WITH_HARDENING),,EXE)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetNAT_INCS = ../../Devices/Network/slirp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetNAT_DEFS = VBOX_WITH_NAT_SERVICE
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetNAT_SOURCES += VBoxNetNAT.cpp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetNAT_DEFS += VBOX_WITH_NAT_SERVICE
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#define def_vbox_slirp_service_cflags
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# $(file)_DEFS += VBOX_WITH_NAT_SERVICE
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#endef
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncdefine def_vbox_nat_network_service_sources
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(1)_SOURCES += $2/$3
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendef
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncdefine def_vbox_nat_network_service_incs
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(1)_INCS += $2/$3
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncendef
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBOX_NOT_IN_NATSERVICE = Network/DrvNAT.cpp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync$(foreach file,$(filter-out $(VBOX_NOT_IN_NATSERVICE), $(VBOX_SLIRP_SOURCES)),$(eval $(call def_vbox_nat_network_service_sources,VBoxNetNAT,../../Devices,$(file))))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetNAT,../../Devices,$(file))))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetNAT,../../Devices,$(file))))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_bsd_cflags,../../Devices/Network)))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync$(foreach file,$(addprefix ../../Devices/, $(filter-out $(VBOX_WITH_NAT_SERVICE), $(VBOX_SLIRP_SOURCES))),$(eval $(call def_vbox_slirp_service_cflags, ../../Devices/Network)))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync$(foreach file,$(addprefix ../../Devices/, $(filter-out $(VBOX_WITH_NAT_SERVICE), $(VBOX_SLIRP_SOURCES))),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_cflags, ../../Devices/Network)))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_alias_cflags, ../../Devices/Network)))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetNAT_SOURCES += ../NetLib/VBoxNetBaseService.cpp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetNAT_LIBS = \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync $(LIB_RUNTIME)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetNAT_LDFLAGS.win = /SUBSYSTEM:windows
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncifdef VBOX_WITH_LWIP_NAT
87150caf549846b0edba30c50dabe5092df70b5fvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncPROGRAMS += VBoxNetLwipNAT
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetLwipNAT_TEMPLATE =
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetLwipNAT_TEMPLATE := VBOXR3$(if-expr defined(VBOX_WITH_HARDENING),,EXE)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#VBoxNetLwipNAT_INCS += ${LWIP_INCS}
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetLwipNAT_INCS += ../../Devices/Network \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ../../Devices/Network/lwip-new/vbox # testproxy.h
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetLwipNAT_DEFS += ${LWIP_DEFS}
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetLwipNAT_SOURCES += VBoxNetLwipNAT.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ../NetLib/VBoxNetBaseService.cpp \
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync ../../Devices/Network/VBoxLwipCore.cpp
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetLwipNAT_LIBS = \
b725254e5641d950d1b5d5a1e2414775fa877265vboxsync $(LIB_RUNTIME)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncVBoxNetLwipNAT_LDFLAGS.win = /SUBSYSTEM:windows
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
b725254e5641d950d1b5d5a1e2414775fa877265vboxsync#
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync# Note: not spaces please in "Devices,$("
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#
b725254e5641d950d1b5d5a1e2414775fa877265vboxsync$(foreach file,$(LWIP_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetLwipNAT, ../../Devices,$(file))))
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync$(foreach incs,$(LWIP_INCS),$(eval $(call def_vbox_nat_network_service_incs, VBoxNetLwipNAT, ../../Devices,$(incs))))
b725254e5641d950d1b5d5a1e2414775fa877265vboxsync
b725254e5641d950d1b5d5a1e2414775fa877265vboxsyncendif
b725254e5641d950d1b5d5a1e2414775fa877265vboxsync
e637cb22e348f5665d5473dae55ed785aa7b6e9avboxsyncinclude $(FILE_KBUILD_SUB_FOOTER)
e637cb22e348f5665d5473dae55ed785aa7b6e9avboxsync