cirilisp/Makefile

68 lines
2.2 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# cirilisp - интерпретер за ћирилични дијалекат лиспа
# ћирилисп верзија
VERSION = 0,9
# локација за инсталацију
PREFIX = /usr/local
LIBPREFIX = $(PREFIX)/lib
# флегови за C компајлер и линкер
CPPFLAGS = -D_POSIX_C_SOURCE=2 -DDESTDIR=\"$(DESTDIR)\" -DVERSION=\"$(VERSION)\"
# CFLAGS = -g -std=c99 -pedantic -Wall -Wextra -Wno-maybe-uninitialized -O0 -fexec-charset=UTF-8 -finput-charset=UTF-8 -fwide-exec-charset=UTF-32LE
CFLAGS = -std=c99 -pedantic -Wall -Wextra -Wno-maybe-uninitialized -O3 -fexec-charset=UTF-8 -finput-charset=UTF-8 -fwide-exec-charset=UTF-32LE
LDFLAGS = -lm -lc
CC = cc
C_SRC = cirilisp.c read.c eval.c print.c util.c internals.c
L_SRC = инит.ћ
INC = util.h read.h eval.h print.h internals.h
OBJ = $(C_SRC:.c=.o)
all: cirilisp $(L_SRC)
.c.o:
$(CC) -c $(CPPFLAGS) $(CFLAGS) $<
$(OBJ): $(INC)
cirilisp: $(OBJ)
$(CC) -o $@ $(OBJ) $(LDFLAGS)
clean:
-rm -f cirilisp $(OBJ) cirilisp-$(VERSION).tar.gz
# штампа садржај свих фајлова са изворним кодом, користи се за бројање линија,
# значајних линија, итд.
concat:
@cat $(C_SRC) $(INC) $(L_SRC) Makefile
# филтрира дати улаз и штампа само "значајне" линије кода
sloc:
@grep -v "^[[:space:]]*[{}]\{0,1\}[;\\]\{0,1\}$$"
dist: clean
mkdir -p cirilisp-$(VERSION)
cp -r Makefile $(INC) $(C_SRC) $(L_SRC) cirilisp-$(VERSION)
tar -cf cirilisp-$(VERSION).tar cirilisp-$(VERSION)
gzip cirilisp-$(VERSION).tar
rm -rf cirilisp-$(VERSION)
install: all
mkdir -p $(DESTDIR)$(PREFIX)/bin
mkdir -p $(DESTDIR)$(LIBPREFIX)/cirilisp
cp -f cirilisp $(DESTDIR)$(PREFIX)/bin
chmod 755 $(DESTDIR)$(PREFIX)/bin/cirilisp
cp -f $(L_SRC) $(DESTDIR)$(LIBPREFIX)/cirilisp
# mkdir -p $(DESTDIR)$(MANPREFIX)/man1
# sed "s/VERSION/$(VERSION)/g" < cirilisp.1 > $(DESTDIR)$(MANPREFIX)/man1/dwm.1
# chmod 644 $(DESTDIR)$(MANPREFIX)/man1/cirilisp.1
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/cirilisp
rm -rf $(DESTDIR)$(LIBPREFIX)/cirilisp
# rm -f $(DESTDIR)$(MANPREFIX)/man1/cirilisp.1
.PHONY: all clean dist install uninstall concat sloc