aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/make_native/Makefile.native49
-rwxr-xr-xscripts/test/mktest.sh32
2 files changed, 81 insertions, 0 deletions
diff --git a/scripts/make_native/Makefile.native b/scripts/make_native/Makefile.native
new file mode 100644
index 0000000..b91a3e0
--- /dev/null
+++ b/scripts/make_native/Makefile.native
@@ -0,0 +1,49 @@
+VERSION = 1.3
+
+PREFIX ?= /usr/local
+MANPREFIX = $(PREFIX)/share/man
+
+CFLAGS += -O3 -march=native -Wall -Wextra -Wno-unused-parameter
+LDLIBS = -lreadline
+
+ifeq ($(shell pkg-config ncursesw && echo 1),1)
+ CFLAGS += $(shell pkg-config --cflags ncursesw)
+ LDLIBS += $(shell pkg-config --libs ncursesw)
+else
+ LDLIBS += -lncurses
+endif
+
+DISTFILES = nlay nnn.c nnn.h nnn.1 Makefile README.md LICENSE
+SRC = nnn.c
+BIN = nnn
+PLAYER = nlay
+
+all: $(BIN) $(PLAYER)
+
+$(SRC): nnn.h
+
+$(BIN): $(SRC)
+ $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS)
+ strip $@
+
+install: all
+ mkdir -p $(DESTDIR)$(PREFIX)/bin
+ cp -f $(BIN) $(DESTDIR)$(PREFIX)/bin
+ cp -f $(PLAYER) $(DESTDIR)$(PREFIX)/bin
+ mkdir -p $(DESTDIR)$(MANPREFIX)/man1
+ cp -f $(BIN).1 $(DESTDIR)$(MANPREFIX)/man1
+
+uninstall:
+ rm -f $(DESTDIR)$(PREFIX)/bin/$(BIN)
+ rm -f $(DESTDIR)$(PREFIX)/bin/$(PLAYER)
+ rm -f $(DESTDIR)$(MANPREFIX)/man1/$(BIN).1
+
+dist:
+ mkdir -p nnn-$(VERSION)
+ cp $(DISTFILES) nnn-$(VERSION)
+ tar -cf nnn-$(VERSION).tar nnn-$(VERSION)
+ gzip nnn-$(VERSION).tar
+ rm -rf nnn-$(VERSION)
+
+clean:
+ rm -f $(BIN) nnn-$(VERSION).tar.gz
diff --git a/scripts/test/mktest.sh b/scripts/test/mktest.sh
new file mode 100755
index 0000000..c808d38
--- /dev/null
+++ b/scripts/test/mktest.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# Create test files and directories
+
+test -e test && {
+ echo "Remove test and try again"
+ exit 1
+}
+
+mkdir test && cd test
+
+echo 'It works!' > normal.txt
+echo 'Με δουλέβει;' > 'κοινό.txt'
+ln -s normal.txt ln-normal.txt
+ln -s normal.txt ln-normal
+mkdir normal-dir
+ln -s normal-dir ln-normal-dir
+ln -s nowhere ln-nowhere
+mkfifo mk-fifo
+touch no-access && chmod 000 no-access
+mkdir no-access-dir && chmod 000 no-access-dir
+ln -s ../normal.txt normal-dir/ln-normal.txt
+ln -s ../normal.txt normal-dir/ln-normal
+echo 'int main(void) { *((char *)0) = 0; }' > ill.c
+make ill > /dev/null
+echo 'test/ill' > ill.sh
+mkdir empty-dir
+mkdir cage
+echo 'chmod 000 test/cage' > cage/lock.sh
+echo 'chmod 755 test/cage' > cage-unlock.sh
+mkdir cage/lion
+echo 'chmod 000 test/cage' > cage/lion/lock.sh