Makefile.kmk revision c12ea5636f55fa8c4d8de7d0ccb870c5f8bcc231
772269936494ffaddd0750ba9e28e805ba81398cvboxsync# Copyright (C) 2006-2012 Oracle Corporation
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.
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncSUB_DEPTH = ../../../..
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncinclude $(KBUILD_PATH)/subheader.kmk
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncifdef VBOX_WITH_LWIP_NAT
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# XXX: do not depend on order
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncifndef LWIP_SOURCES
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync include ../../Devices/Network/lwip-new/Makefile.kmk
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncifdef VBOX_WITH_HARDENING
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync PROGRAMS += VBoxNetLwipNATHardened
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync DLLS += VBoxNetLwipNAT
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync PROGRAMS += VBoxNetLwipNAT
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncifdef VBOX_WITH_HARDENING
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync VBoxNetLwipNATHardened_SOURCES += VBoxNetNATHardened.cpp
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync VBoxNetLwipNATHardened_DEFS += SERVICE_NAME=\"VBoxNetNAT\"
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync VBoxNetLwipNATHardened_TEMPLATE=VBOXR3HARDENEDEXE
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync VBoxNetLwipNATHardened_NAME = VBoxNetNAT
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_TEMPLATE =
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_TEMPLATE := VBOXMAIN$(if-expr defined(VBOX_WITH_HARDENING),DLL,CLIENTEXE)
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_NAME = VBoxNetNAT
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_DEFS += ${LWIP_DEFS} IPv6
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetLwipNAT_DEFS.win += VBOX_COM_OUTOFPROC_MODULE _WIN32_WINNT=0x501 # Windows XP
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncVBoxNetLwipNAT_SOURCES += VBoxNetLwipNAT.cpp \
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetLwipNAT_LIBS = \
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync $(LIB_RUNTIME)
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetLwipNAT_LDFLAGS.win = /SUBSYSTEM:windows
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# Convince Solaris headers to expose socket stuff we need. 600 would
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync# also work, but <sys/feature_tests.h> insists on C99 for it and so
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync# explodes for C++. Note that for 500 it insists on NOT using C99, so
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsync# when some day we decide to use -std=c99 we are in for some fun.
d1a00c93378091ef28db9d959b2d692cc8143a07vboxsyncVBoxNetLwipNAT_DEFS.solaris += _XOPEN_SOURCE=500 __EXTENSIONS__=1
52831df2c11f241bf670f904d23a4fbb3ef5e5bbvboxsyncVBoxNetLwipNAT_SOURCES += \
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsyncifeq ($(KBUILD_TARGET),win)
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync # unprivileged Icmp API
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync VBoxNetLwipNAT_SOURCES += pxping_win.c
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync # raw sockets
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync VBoxNetLwipNAT_SOURCES += pxping.c
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# ifeq ($(VBOX_WITH_HARDENING),)
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# ifn1of ($(KBUILD_TARGET), darwin win)
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# # helper for debugging unprivileged
2622c26c6b4105d944a29c5e2c77b6ef26e10101vboxsync# VBoxNetLwipNAT_SOURCES += getrawsock.c
VBoxNetLwipNAT, ../../Devices/Network/lwip-new))