summaryrefslogtreecommitdiff
path: root/BaseTools/Source/C/DevicePath/GNUmakefile
blob: 40cf277b34c2f952c857d1b6fe31f35658c169d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
## @file
# GNU/Linux makefile for 'DevicePath' module build.
#
# Copyright (c) 2017 - 2025, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
ARCH ?= IA32
MAKEROOT ?= ..

APPNAME = DevicePath

OBJECTS = DevicePath.o UefiDevicePathLib.o DevicePathFromText.o  DevicePathUtilities.o

include $(MAKEROOT)/Makefiles/app.makefile

ifeq (Windows, $(findstring Windows,$(MAKE_HOST)))
GCCVERSION := $(shell for /f "tokens=1 delims=." %%a in ("$(shell $(CC) -dumpversion)") do echo %%a)
else
GCCVERSION := $(shell $(CC) -dumpversion | awk -F'.' '{print $$1}')
endif
CLANG := $(findstring clang,$(shell $(CC) --version))

ifneq ("$(GCCVERSION)", "5")
ifeq ($(CLANG),)
ifneq ($(DARWIN),Darwin)
# gcc 12 trips over device path handling
CFLAGS += -Wno-error=stringop-overflow
endif
endif
endif

LIBS = -lCommon
ifeq ($(CYGWIN), CYGWIN)
  LIBS += -L/lib/e2fsprogs -luuid
endif

ifeq ($(LINUX), Linux)
ifndef CROSS_LIB_UUID
  LIBS += -luuid
else
  LIBS += -L$(CROSS_LIB_UUID)
endif
endif