diff options
Diffstat (limited to 'src/VBox/NetworkServices/Dhcpd/Makefile.kmk')
-rw-r--r-- | src/VBox/NetworkServices/Dhcpd/Makefile.kmk | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/src/VBox/NetworkServices/Dhcpd/Makefile.kmk b/src/VBox/NetworkServices/Dhcpd/Makefile.kmk new file mode 100644 index 00000000..c5340ad4 --- /dev/null +++ b/src/VBox/NetworkServices/Dhcpd/Makefile.kmk @@ -0,0 +1,108 @@ +# $Id: Makefile.kmk $ +## @file +# Sub-makefile for the DHCP server. +# + +# +# Copyright (C) 2006-2023 Oracle and/or its affiliates. +# +# This file is part of VirtualBox base platform packages, as +# available from https://www.virtualbox.org. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation, in version 3 of the +# License. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see <https://www.gnu.org/licenses>. +# +# SPDX-License-Identifier: GPL-3.0-only +# + +SUB_DEPTH := ../../../.. +include $(KBUILD_PATH)/subheader.kmk + +ifndef LWIP_SOURCES + include $(PATH_SUB_CURRENT)/../../Devices/Network/lwip-new/Config.kmk +endif + +# +# Hardended stub executable. +# +ifdef VBOX_WITH_HARDENING + PROGRAMS += VBoxNetDHCPHardened + VBoxNetDHCPHardened_TEMPLATE = VBoxR3HardenedExe + VBoxNetDHCPHardened_NAME = VBoxNetDHCP + VBoxNetDHCPHardened_SOURCES = VBoxNetDhcpdHardened.cpp + VBoxNetDHCPHardened_LDFLAGS.win = /SUBSYSTEM:windows + $(call VBOX_SET_VER_INFO_DLL,VBoxNetDHCPHardened,VirtualBox DHCP Server,$(VBOX_WINDOWS_ICON_FILE)) # Version info / description. +endif + + +# +# The DHCP server module (dll if hardended) +# +ifdef VBOX_WITH_HARDENING + DLLS += VBoxNetDHCP + VBoxNetDHCP_TEMPLATE := VBoxR3Dll +else + PROGRAMS += VBoxNetDHCP + VBoxNetDHCP_TEMPLATE := VBoxR3Exe +endif + +# (current dir is for for lwipopts.h) +VBoxNetDHCP_INCS += . $(addprefix ../../Devices/Network/lwip-new/,$(LWIP_INCS)) + +ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING + VBoxNetDHCP_DEFS = KBUILD_TYPE="$(KBUILD_TYPE)" +else + VBoxNetDHCP_DEFS = KBUILD_TYPE=\"$(KBUILD_TYPE)\" +endif +VBoxNetDHCP_DEFS += \ + $(if $(VBOX_WITH_INTNET_SERVICE_IN_R3),VBOX_WITH_INTNET_SERVICE_IN_R3,) + +#VBoxNetDHCP_DEFS += IPv6 +#VBoxNetDHCP_DEFS.linux = WITH_VALGRIND +ifneq ($(KBUILD_TARGET),win) + VBoxNetDHCP_DEFS += VBOX_WITH_XPCOM + VBoxNetDHCP_INCS += $(VBOX_XPCOM_INCS) + ifneq ($(KBUILD_TARGET),darwin) + # We want -std=c++11 for 4.7 and newer compilers, and -std=c++0x for older ones. + VBoxNetDHCP_CXXFLAGS += -std=$(if $(VBOX_GCC_VERSION_CXX),$(if $(VBOX_GCC_VERSION_CXX) < 40700,c++0x,c++11),c++0x) + endif +endif +VBoxNetDHCP_INCS += \ + ../NetLib +VBoxNetDHCP_SOURCES = \ + ClientId.cpp \ + Config.cpp \ + DHCPD.cpp \ + Db.cpp \ + DhcpMessage.cpp \ + DhcpOptions.cpp \ + IPv4Pool.cpp \ + Timestamp.cpp \ + VBoxNetDhcpd.cpp \ + ../NetLib/IntNetIf.cpp \ + ../../Main/glue/VBoxLogRelCreate.cpp \ + ../../Main/glue/GetVBoxUserHomeDirectory.cpp \ + $(addprefix ../../Devices/Network/lwip-new/,$(LWIP_SOURCES)) + +VBoxNetDHCP_LIBS = $(LIB_RUNTIME) +VBoxNetDHCP_LIBS.solaris += socket nsl +VBoxNetDHCP_LDFLAGS.win = /SUBSYSTEM:windows + +ifdef VBOX_WITH_HARDENING + $(call VBOX_SET_VER_INFO_DLL,VBoxNetDHCP,VirtualBox DHCP Server (dll),$(VBOX_WINDOWS_ICON_FILE)) # Version info / description. +else + $(call VBOX_SET_VER_INFO_EXE,VBoxNetDHCP,VirtualBox DHCP Server,$(VBOX_WINDOWS_ICON_FILE)) # Version info / description. +endif + +include $(FILE_KBUILD_SUB_FOOTER) + |