cirilisp/Makefile.unix

63 lines
1.9 KiB
Makefile
Raw Permalink 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.

# локација за инсталацију
PREFIX = /usr/local
LIBPREFIX = $(PREFIX)/lib
# флегови за C компајлер и линкер
CPPFLAGS = -D_POSIX_C_SOURCE=2 -DDESTDIR=\"$(DESTDIR)\" -DVERSION=\"$(VERSION)\"
# CFLAGS = -DDEBUG -g -std=c99 -pedantic -Wall -Wextra -Wno-maybe-uninitialized -O0
CFLAGS = -std=c99 -pedantic -Wall -Wextra -Wno-maybe-uninitialized -O3
LDFLAGS = -lm
CC = gcc
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