Home | History | Annotate | Line # | Download | only in test
      1  1.1  christos # ################################################################
      2  1.1  christos # Copyright (c) Meta Platforms, Inc. and affiliates.
      3  1.1  christos # All rights reserved.
      4  1.1  christos #
      5  1.1  christos # This source code is licensed under both the BSD-style license (found in the
      6  1.1  christos # LICENSE file in the root directory of this source tree) and the GPLv2 (found
      7  1.1  christos # in the COPYING file in the root directory of this source tree).
      8  1.1  christos # You may select, at your option, one of the above-listed licenses.
      9  1.1  christos # ################################################################
     10  1.1  christos 
     11  1.1  christos LINUX := ../linux
     12  1.1  christos LINUX_ZSTDLIB := $(LINUX)/lib/zstd
     13  1.1  christos 
     14  1.1  christos CPPFLAGS += -I$(LINUX)/include -I$(LINUX_ZSTDLIB) -Iinclude -DNDEBUG -Wno-deprecated-declarations
     15  1.1  christos # Don't poison the workspace, it currently doesn't work with static allocation and workspace reuse
     16  1.1  christos CPPFLAGS += -DZSTD_ASAN_DONT_POISON_WORKSPACE
     17  1.1  christos 
     18  1.1  christos LINUX_ZSTD_MODULE     := $(wildcard $(LINUX_ZSTDLIB)/*.c)
     19  1.1  christos LINUX_ZSTD_COMMON     := $(wildcard $(LINUX_ZSTDLIB)/common/*.c)
     20  1.1  christos LINUX_ZSTD_COMPRESS   := $(wildcard $(LINUX_ZSTDLIB)/compress/*.c)
     21  1.1  christos LINUX_ZSTD_DECOMPRESS := $(wildcard $(LINUX_ZSTDLIB)/decompress/*.c $(LINUX_ZSTDLIB)/decompress/*.S)
     22  1.1  christos LINUX_ZSTD_FILES      := $(LINUX_ZSTD_MODULE) $(LINUX_ZSTD_COMMON) $(LINUX_ZSTD_COMPRESS) $(LINUX_ZSTD_DECOMPRESS)
     23  1.1  christos LINUX_ZSTD_OBJECTS0   := $(LINUX_ZSTD_FILES:.c=.o)
     24  1.1  christos LINUX_ZSTD_OBJECTS    := $(LINUX_ZSTD_OBJECTS0:.S=.o)
     25  1.1  christos 
     26  1.1  christos %.o: %.S
     27  1.1  christos 	$(COMPILE.S) $(OUTPUT_OPTION) $<
     28  1.1  christos 
     29  1.1  christos liblinuxzstd.a: $(LINUX_ZSTD_OBJECTS)
     30  1.1  christos 	$(AR) $(ARFLAGS) $@ $^
     31  1.1  christos 
     32  1.1  christos test: test.c liblinuxzstd.a
     33  1.1  christos 	$(CC) $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) $^ -o $@
     34  1.1  christos 
     35  1.1  christos static_test: static_test.c
     36  1.1  christos 	$(CC) $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) $^ -o $@
     37  1.1  christos 
     38  1.1  christos run-test: test static_test
     39  1.1  christos 	./macro-test.sh
     40  1.1  christos 	./test
     41  1.1  christos 	./static_test
     42  1.1  christos 
     43  1.1  christos .PHONY:
     44  1.1  christos clean:
     45  1.1  christos 	$(RM) -f $(LINUX_ZSTDLIB)/*.o
     46  1.1  christos 	$(RM) -f $(LINUX_ZSTDLIB)/**/*.o
     47  1.1  christos 	$(RM) -f *.o *.a
     48  1.1  christos 	$(RM) -f static_test
     49  1.1  christos 	$(RM) -f test
     50