Makefile.kmk revision 1d985a21a9c5e227f3fce03d34198e66c141f870
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# $Id$
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync## @file
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync#
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync#
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# Copyright (C) 2006-2012 Oracle Corporation
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync#
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# available from http://www.virtualbox.org. This file is free software;
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# you can redistribute it and/or modify it under the terms of the GNU
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# General Public License (GPL) as published by the Free Software
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync#
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsyncSUB_DEPTH = ../../../..
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsyncinclude $(KBUILD_PATH)/subheader.kmk
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync#
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Disable Slirp based service.
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync#ifdef VBOX_WITH_HARDENING
456f370fcde010d585d9174df045978a6c9893c1vboxsync# PROGRAMS += VBoxNetNATHardened
27537ffef7291d0bb3a24e459a6b94c65586defevboxsync# DLLS += VBoxNetNAT
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync#else
8c5d1958147c3988a7693b5a7666f5fe21a93b7bvboxsync# PROGRAMS += VBoxNetNAT
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync#endif
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBoxNetNAT_TEMPLATE =
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBoxNetNAT_TEMPLATE := VBOXR3$(if-expr defined(VBOX_WITH_HARDENING),,EXE)
8c5d1958147c3988a7693b5a7666f5fe21a93b7bvboxsyncVBoxNetNAT_INCS = ../../Devices/Network/slirp
c4c106ad74e0ad745ac49a2c4182c4f42ced7248vboxsyncVBoxNetNAT_DEFS = VBOX_WITH_NAT_SERVICE
c4c106ad74e0ad745ac49a2c4182c4f42ced7248vboxsyncVBoxNetNAT_SOURCES += VBoxNetNAT.cpp
c4c106ad74e0ad745ac49a2c4182c4f42ced7248vboxsyncVBoxNetNAT_DEFS += VBOX_WITH_NAT_SERVICE
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync#define def_vbox_slirp_service_cflags
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync# $(file)_DEFS += VBOX_WITH_NAT_SERVICE
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync#endef
c5861c548c83913808475ea59cab2e09a23247c8vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncdefine def_vbox_nat_network_service_sources
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync $(1)_SOURCES += $2/$3
f7d6665d93770b79026556438d5e081807917420vboxsyncendef
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncdefine def_vbox_nat_network_service_incs
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync $(1)_INCS += $2/$3
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncendef
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync
7bff28e0cedd8656acd24b420759649184d8cf00vboxsyncVBOX_NOT_IN_NATSERVICE = Network/DrvNAT.cpp
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync$(foreach file,$(filter-out $(VBOX_NOT_IN_NATSERVICE), $(VBOX_SLIRP_SOURCES)),$(eval $(call def_vbox_nat_network_service_sources,VBoxNetNAT,../../Devices,$(file))))
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync$(foreach file,$(VBOX_SLIRP_ALIAS_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetNAT,../../Devices,$(file))))
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync$(foreach file,$(VBOX_SLIRP_BSD_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetNAT,../../Devices,$(file))))
7bff28e0cedd8656acd24b420759649184d8cf00vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_BSD_SOURCES)),$(eval $(call def_vbox_slirp_bsd_cflags,../../Devices/Network)))
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync$(foreach file,$(addprefix ../../Devices/, $(filter-out $(VBOX_WITH_NAT_SERVICE), $(VBOX_SLIRP_SOURCES))),$(eval $(call def_vbox_slirp_service_cflags, ../../Devices/Network)))
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync$(foreach file,$(addprefix ../../Devices/, $(filter-out $(VBOX_WITH_NAT_SERVICE), $(VBOX_SLIRP_SOURCES))),$(eval $(call def_vbox_slirp_cflags,../../Devices/Network)))
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_cflags, ../../Devices/Network)))
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync$(foreach file,$(addprefix ../../Devices/, $(VBOX_SLIRP_ALIAS_SOURCES)),$(eval $(call def_vbox_slirp_alias_cflags, ../../Devices/Network)))
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetNAT_SOURCES += ../NetLib/VBoxNetBaseService.cpp
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetNAT_LIBS = \
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync $(LIB_RUNTIME)
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetNAT_LDFLAGS.win = /SUBSYSTEM:windows
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncifdef VBOX_WITH_LWIP_NAT
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncPROGRAMS += VBoxNetLwipNAT
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetLwipNAT_TEMPLATE =
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetLwipNAT_TEMPLATE := VBOXMAINCLIENTEXE
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetLwipNAT_INCS += ../../Devices/Network \
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync ../../Devices/Network/lwip-new/vbox # testproxy.h
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetLwipNAT_DEFS += ${LWIP_DEFS}
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetLwipNAT_DEFS.win += _WIN32_WINNT=0x501 # Windows XP
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetLwipNAT_SOURCES += VBoxNetLwipNAT.cpp \
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync ../NetLib/VBoxNetBaseService.cpp \
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync ../NetLib/VBoxNetPortForwardString.cpp
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetLwipNAT_LIBS = \
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync $(LIB_RUNTIME)
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetLwipNAT_LIBS.solaris += socket nsl
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncVBoxNetLwipNAT_LDFLAGS.win = /SUBSYSTEM:windows
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync#
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync# Note: not spaces please in "Devices,$("
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync#
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync$(foreach file,$(LWIP_SOURCES) $(LWIP_NAT_SOURCES),$(eval $(call def_vbox_nat_network_service_sources, VBoxNetLwipNAT, ../../Devices,$(file))))
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync$(foreach incs,$(LWIP_INCS),$(eval $(call def_vbox_nat_network_service_incs, VBoxNetLwipNAT, ../../Devices,$(incs))))
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncendif
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncifdef VBOX_WITH_TESTCASES
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncPROGRAMS += tstNetPfAddressPortPairParse
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsynctstNetPfAddressPortPairParse_TEMPLATE = VBOXR3TSTEXE
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync#tstNetPfAddressPortPairParse_INSTTYPE = none
771761cda2c81e899526a0dce22c8cd2510fff82vboxsynctstNetPfAddressPortPairParse_SOURCES = ../NetLib/testcase/tstNetPfAddressPortPairParse.cpp \
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync ../NetLib/VBoxNetPortForwardString.cpp
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncendif
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync
771761cda2c81e899526a0dce22c8cd2510fff82vboxsyncinclude $(FILE_KBUILD_SUB_FOOTER)
771761cda2c81e899526a0dce22c8cd2510fff82vboxsync