Files
2025-02-11 22:09:31 +01:00

52 lines
1.2 KiB
Makefile

CFLAGS += -Wall -fpic -std=gnu99
ifeq ($(OS),Windows_NT)
CC = gcc
TARGET := libfzf.dll
ifeq (,$(findstring $(MSYSTEM),MSYS UCRT64 CLANG64 CLANGARM64 CLANG32 MINGW64 MINGW32))
# On Windows, but NOT msys/msys2
MKD = cmd /C mkdir
RM = cmd /C rmdir /Q /S
else
MKD = mkdir -p
RM = rm -rf
endif
else
MKD = mkdir -p
RM = rm -rf
TARGET := libfzf.so
endif
all: build/$(TARGET)
build/$(TARGET): src/fzf.c src/fzf.h
$(MKD) build
$(CC) -O3 $(CFLAGS) -shared src/fzf.c -o build/$(TARGET)
build/test: build/$(TARGET) test/test.c
$(CC) -Og -ggdb3 $(CFLAGS) test/test.c -o build/test -I./src -L./build -lfzf -lexaminer
.PHONY:
debug: src/fzf.c src/fzf.h
$(MKD) build
$(CC) -Og $(CFLAGS) -Werror -shared src/fzf.c -o build/$(TARGET)
.PHONY: lint format clangdhappy clean test ntest
lint:
luacheck lua
format:
clang-format --style=file --dry-run -Werror src/fzf.c src/fzf.h test/test.c
test: build/test
@LD_LIBRARY_PATH=${PWD}/build:${PWD}/examiner/build:${LD_LIBRARY_PATH} ./build/test
ntest:
nvim --headless --noplugin -u test/minrc.vim -c "PlenaryBustedDirectory test/ { minimal_init = './test/minrc.vim' }"
clangdhappy:
compiledb make
clean:
$(RM) build