59 lines
1.3 KiB
Makefile
59 lines
1.3 KiB
Makefile
prefix = /usr/bin
|
|
|
|
YAIT_SRCS := $(wildcard yait/*.c) $(wildcard core/*.c)
|
|
YAIT_OBJS := $(patsubst yait/%.c,c-out/obj/%.o,$(YAIT_SRCS))
|
|
|
|
YAIT := c-out/bin/yait
|
|
|
|
-include config.mak
|
|
|
|
ifeq ($(wildcard config.mak),)
|
|
all:
|
|
@echo "File config.mak not found, run configure"
|
|
@exit 1
|
|
else
|
|
|
|
all: build $(YAIT) $(YAIT_DOC)
|
|
|
|
build:
|
|
mkdir -p c-out/bin
|
|
mkdir -p c-out/obj
|
|
|
|
EMBED_FILES := $(wildcard embed/*)
|
|
gen-file-embeds:
|
|
@echo "// Generated header with embedded files" > $(EMBED_HEADER)
|
|
@echo "#ifndef EMBEDDED_FILES_H" >> $(EMBED_HEADER)
|
|
@echo "#define EMBEDDED_FILES_H" >> $(EMBED_HEADER)
|
|
@echo "" >> $(EMBED_HEADER)
|
|
@for f in $(EMBED_FILES); do \
|
|
var=$$(echo $$f | tr './-' '__' | tr '[:lower:]' '[:upper:]'); \
|
|
xxd -i $$f | sed "s/^unsigned char/${var}_data/" | sed "s/^unsigned int/${var}_len/" >> $(EMBED_HEADER); \
|
|
echo "" >> $(EMBED_HEADER); \
|
|
done
|
|
@echo "#endif // EMBEDDED_FILES_H" >> $(EMBED_HEADER)
|
|
|
|
c-out/obj/%.o: yait/%.c
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
$(YAIT): $(YAIT_OBJS)
|
|
$(CC) $(CFLAGS) -DCOMMIT=$(shell git rev-list --count --all) $^ -o $@
|
|
|
|
|
|
endif
|
|
|
|
install:
|
|
@echo "NOT IMPL"
|
|
exit 1
|
|
|
|
uninstall:
|
|
@echo "NOT IMPL"
|
|
exit 1
|
|
|
|
clean:
|
|
rm -rf c-out
|
|
|
|
dist-clean: clean
|
|
rm -f config.mak
|
|
|
|
.PHONY: all clean dist-clean install uninstall build format gen-file-embeds
|