2019-01-03 16:59:28 +01:00
|
|
|
|
# cirilisp - компајлер за ћирилични дијалекат лиспа
|
|
|
|
|
|
|
|
|
|
# ћирилисп верзија
|
2019-02-07 23:07:02 +01:00
|
|
|
|
VERSION = 0,8
|
2019-01-03 16:59:28 +01:00
|
|
|
|
|
|
|
|
|
# локација за инсталацију
|
|
|
|
|
PREFIX = /usr/local
|
2019-02-09 23:54:56 +01:00
|
|
|
|
LIBPREFIX = $(PREFIX)/lib
|
2019-01-03 16:59:28 +01:00
|
|
|
|
|
|
|
|
|
# флегови за C компајлер и линкер
|
2019-02-19 09:49:55 +01:00
|
|
|
|
CPPFLAGS = -D_POSIX_C_SOURCE=200200L -DDESTDIR=\"$(DESTDIR)\" \
|
|
|
|
|
-DVERSION=\"$(VERSION)\"
|
2019-02-13 12:09:35 +01:00
|
|
|
|
CFLAGS = -g -std=c99 -pedantic -Wall -O0
|
|
|
|
|
# CFLAGS = -std=c99 -pedantic -Wall -O3
|
2019-01-03 16:59:28 +01:00
|
|
|
|
LDFLAGS = -lm -lc
|
|
|
|
|
|
|
|
|
|
CC = cc
|
|
|
|
|
|
2019-02-09 23:54:56 +01:00
|
|
|
|
C_SRC = cirilisp.c read.c eval.c print.c util.c internals.c
|
2019-02-10 22:21:20 +01:00
|
|
|
|
L_SRC = инит.ћ
|
|
|
|
|
INC = util.h read.h eval.h print.h internals.h
|
2019-02-09 23:54:56 +01:00
|
|
|
|
OBJ = $(C_SRC:.c=.o)
|
2019-01-03 16:59:28 +01:00
|
|
|
|
|
2019-02-18 23:20:44 +01:00
|
|
|
|
all: cirilisp $(L_SRC)
|
2019-01-03 16:59:28 +01:00
|
|
|
|
|
|
|
|
|
.c.o:
|
2019-01-22 16:22:00 +01:00
|
|
|
|
$(CC) -c $(CPPFLAGS) $(CFLAGS) $<
|
2019-01-03 16:59:28 +01:00
|
|
|
|
|
2019-02-19 09:49:55 +01:00
|
|
|
|
$(OBJ): $(INC)
|
2019-01-03 16:59:28 +01:00
|
|
|
|
|
2019-02-18 23:20:44 +01:00
|
|
|
|
cirilisp: $(OBJ)
|
2019-01-03 16:59:28 +01:00
|
|
|
|
$(CC) -o $@ $(OBJ) $(LDFLAGS)
|
|
|
|
|
|
|
|
|
|
clean:
|
|
|
|
|
-rm -f cirilisp $(OBJ) cirilisp-$(VERSION).tar.gz
|
|
|
|
|
|
2019-02-10 22:21:20 +01:00
|
|
|
|
# штампа садржај свих фајлова са изворним кодом, користи се за бројање линија,
|
|
|
|
|
# значајних линија, итд.
|
|
|
|
|
concat:
|
|
|
|
|
@cat $(C_SRC) $(INC) $(L_SRC) Makefile
|
|
|
|
|
|
|
|
|
|
# филтрира дати улаз и штампа само "значајне" линије кода
|
|
|
|
|
sloc:
|
|
|
|
|
@grep -v "^[[:space:]]*[{}]\{0,1\}[;\\]\{0,1\}$$"
|
|
|
|
|
|
2019-01-03 16:59:28 +01:00
|
|
|
|
dist: clean
|
|
|
|
|
mkdir -p cirilisp-$(VERSION)
|
2019-02-10 22:21:20 +01:00
|
|
|
|
cp -r Makefile $(INC) $(C_SRC) $(L_SRC) cirilisp-$(VERSION)
|
2019-01-03 16:59:28 +01:00
|
|
|
|
tar -cf cirilisp-$(VERSION).tar cirilisp-$(VERSION)
|
|
|
|
|
gzip cirilisp-$(VERSION).tar
|
|
|
|
|
rm -rf cirilisp-$(VERSION)
|
|
|
|
|
|
|
|
|
|
install: all
|
|
|
|
|
mkdir -p $(DESTDIR)$(PREFIX)/bin
|
2019-02-09 23:54:56 +01:00
|
|
|
|
mkdir -p $(DESTDIR)$(LIBPREFIX)/cirilisp
|
2019-01-03 16:59:28 +01:00
|
|
|
|
cp -f cirilisp $(DESTDIR)$(PREFIX)/bin
|
|
|
|
|
chmod 755 $(DESTDIR)$(PREFIX)/bin/cirilisp
|
2019-02-10 22:21:20 +01:00
|
|
|
|
cp -f $(L_SRC) $(DESTDIR)$(LIBPREFIX)/cirilisp
|
2019-01-03 16:59:28 +01:00
|
|
|
|
# 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:
|
2019-01-03 17:37:59 +01:00
|
|
|
|
rm -f $(DESTDIR)$(PREFIX)/bin/cirilisp
|
2019-02-09 23:54:56 +01:00
|
|
|
|
rm -rf $(DESTDIR)$(LIBPREFIX)/cirilisp
|
2019-01-03 16:59:28 +01:00
|
|
|
|
# rm -f $(DESTDIR)$(MANPREFIX)/man1/cirilisp.1
|
|
|
|
|
|
2019-02-10 22:21:20 +01:00
|
|
|
|
.PHONY: all clean dist install uninstall concat sloc
|