aboutsummaryrefslogtreecommitdiffstats
path: root/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/Makefile')
-rw-r--r--roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/Makefile55
1 files changed, 55 insertions, 0 deletions
diff --git a/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/Makefile b/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/Makefile
new file mode 100644
index 000000000..489094090
--- /dev/null
+++ b/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/Makefile
@@ -0,0 +1,55 @@
+OS := $(shell uname)
+LIBSOURCES = $(wildcard c/common/*.c) $(wildcard c/dec/*.c) \
+ $(wildcard c/enc/*.c)
+SOURCES = $(LIBSOURCES) c/tools/brotli.c
+BINDIR = bin
+OBJDIR = $(BINDIR)/obj
+LIBOBJECTS = $(addprefix $(OBJDIR)/, $(LIBSOURCES:.c=.o))
+OBJECTS = $(addprefix $(OBJDIR)/, $(SOURCES:.c=.o))
+LIB_A = libbrotli.a
+EXECUTABLE = brotli
+DIRS = $(OBJDIR)/c/common $(OBJDIR)/c/dec $(OBJDIR)/c/enc \
+ $(OBJDIR)/c/tools $(BINDIR)/tmp
+CFLAGS += -O2
+ifeq ($(os), Darwin)
+ CPPFLAGS += -DOS_MACOSX
+endif
+
+ifneq ($(strip $(CROSS_COMPILE)), )
+ CC=$(CROSS_COMPILE)-gcc
+ ARCH=$(firstword $(subst -, ,$(CROSS_COMPILE)))
+ BROTLI_WRAPPER="qemu-$(ARCH) -L /usr/$(CROSS_COMPILE)"
+endif
+
+# The arm-linux-gnueabi compiler defaults to Armv5. Since we only support Armv7
+# and beyond, we need to select Armv7 explicitly with march.
+ifeq ($(ARCH), arm)
+ CFLAGS += -march=armv7-a -mfloat-abi=hard -mfpu=neon
+endif
+
+all: test
+ @:
+
+.PHONY: all clean test
+
+$(DIRS):
+ mkdir -p $@
+
+$(EXECUTABLE): $(OBJECTS)
+ $(CC) $(LDFLAGS) $(OBJECTS) -lm -o $(BINDIR)/$(EXECUTABLE)
+
+lib: $(LIBOBJECTS)
+ rm -f $(LIB_A)
+ ar -crs $(LIB_A) $(LIBOBJECTS)
+
+test: $(EXECUTABLE)
+ tests/compatibility_test.sh $(BROTLI_WRAPPER)
+ tests/roundtrip_test.sh $(BROTLI_WRAPPER)
+
+clean:
+ rm -rf $(BINDIR) $(LIB_A)
+
+.SECONDEXPANSION:
+$(OBJECTS): $$(patsubst %.o,%.c,$$(patsubst $$(OBJDIR)/%,%,$$@)) | $(DIRS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) -Ic/include \
+ -c $(patsubst %.o,%.c,$(patsubst $(OBJDIR)/%,%,$@)) -o $@