save
This commit is contained in:
59
Makefile
59
Makefile
@@ -1,12 +1,16 @@
|
|||||||
PREFIX = /usr/bin/
|
PACKAGE := yait
|
||||||
|
|
||||||
YAIT_SRCS := $(wildcard src/*.c) $(wildcard lib/*.c)
|
SRCS := $(wildcard src/*.c) $(wildcard lib/*.c)
|
||||||
YAIT_OBJS := $(patsubst src/%.c,build/obj/%.o,$(YAIT_SRCS))
|
OBJS := $(patsubst src/%.c,build/obj/%.o,$(SRCS))
|
||||||
|
|
||||||
YAIT := bin/yait
|
BIN := bin/$(PACKAGE)
|
||||||
|
|
||||||
ALLOWED_DIRS = doc include man src tools lib
|
COMMIT := $(shell git rev-list --count --all)
|
||||||
DISTDIRS := $(sort $(shell find . -maxdepth 1 -type d -not -name '.' -printf '%f\n'))
|
FLAGS := -I. -DCOMMIT=$(COMMIT)
|
||||||
|
|
||||||
|
VERSION := $(shell git describe --tags --always --dirty)
|
||||||
|
TARBALL := $(PACKAGE)-$(VERSION).tar.gz
|
||||||
|
RELEASE_FILES := doc src lib COPYING AUTHORS README yait.1 INSTALL Makefile configure config.h
|
||||||
|
|
||||||
-include config.mak
|
-include config.mak
|
||||||
|
|
||||||
@@ -23,49 +27,28 @@ build:
|
|||||||
mkdir -p build/obj
|
mkdir -p build/obj
|
||||||
|
|
||||||
build/obj/%.o: src/%.c config.mak
|
build/obj/%.o: src/%.c config.mak
|
||||||
$(CC) $(CFLAGS) -DCOMMIT=$(shell git rev-list --count --all) -Iinclude -Ilib -c $< -o $@
|
$(CC) $(FLAGS) -c $< -o $@
|
||||||
|
|
||||||
$(YAIT): $(YAIT_OBJS)
|
$(BIN): $(OBJS)
|
||||||
$(CC) $(CFLAGS) -Iinclude -Ilib -DCOMMIT=$(shell git rev-list --count --all) $^ -o $@
|
$(CC) $(FLAGS) $^ -o $@
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
install: $(YAIT)
|
install: $(BIN)
|
||||||
cp $(YAIT) $(PREFIX)
|
cp $(BIN) $(PREFIX)
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
$(RM) $(PREFIX)yait
|
$(RM) $(PREFIX)$(PACKAGE)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) -r bin
|
$(RM) -r $(BIN)
|
||||||
$(RM) -r build
|
$(RM) -r build
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
$(RM) config.mak
|
$(RM) config.mak
|
||||||
|
$(RM) $(TARBALL)
|
||||||
|
|
||||||
check: $(YAIT)
|
release: clean all
|
||||||
./src/tests/run_unit_tests.sh
|
tar -czf $(TARBALL) $(RELEASE_FILES)
|
||||||
|
|
||||||
syntax-check:
|
.PHONY: all clean distclean install uninstall build release
|
||||||
@set -e; \
|
|
||||||
fail=0; \
|
|
||||||
for f in $(YAIT_SRCS); do \
|
|
||||||
echo "$$f"; \
|
|
||||||
if ! $(CC) $(CFLAGS) -fsyntax-only $$f; then \
|
|
||||||
fail=1; \
|
|
||||||
fi
|
|
||||||
done; \
|
|
||||||
if test $$fail -ne 0; then \
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
distcheck: distclean
|
|
||||||
@set -e; \
|
|
||||||
for d in $(DESTDIRS); do \
|
|
||||||
case " $(ALLOWED_DIRS) " in \
|
|
||||||
*" $$d "*) ;; \
|
|
||||||
*) echo "Error unexpected directory '$$d'"; exit 1 ;; \
|
|
||||||
esac; \
|
|
||||||
done
|
|
||||||
|
|
||||||
.PHONY: all clean dist-clean install uninstall build release check syntax-check distcheck
|
|
||||||
|
|||||||
Reference in New Issue
Block a user