29 lines
538 B
Makefile
29 lines
538 B
Makefile
CC ?= cc
|
|
CPPFLAGS ?= -Iinclude
|
|
CFLAGS ?= -std=c11 -O2 -Wall -Wextra -Wpedantic
|
|
LDLIBS ?=
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
LDLIBS += -lbcrypt
|
|
endif
|
|
|
|
TARGET := build/gerbera
|
|
SOURCES := src/main.c src/encrypt.c src/decrypt.c src/cipher.c
|
|
OBJECTS := $(SOURCES:src/%.c=build/%.o)
|
|
|
|
$(TARGET): $(OBJECTS)
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LDLIBS)
|
|
|
|
build/%.o: src/%.c include/gerbera.h | build
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
|
|
|
|
build:
|
|
mkdir -p build
|
|
|
|
.PHONY: clean test
|
|
|
|
test: $(TARGET)
|
|
GERBERA_BIN=./$(TARGET) sh tests/test.sh
|
|
|
|
clean:
|
|
rm -rf build
|