aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: f6f78ac35e3c297be33ea64ac171db90b38ccf87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
CFLAGS += -std=c89 -Wall -pedantic -Wno-parentheses
LDLIBS += -lsqlite3

A = $(shell ls *.c *.h t/*.t)
O = $(shell ls *.c | sed 's/c$$/o/')
CRYPTO = $(shell ls crypt/*.o) crypt/x86.S
T = $(shell ls t/*.t)
TC = $(shell ls t/*.t | sed 's/t$$/tc/')

.SUFFIXES: .t .tc

all: cforum README
.c.o: cforum.h
ctl.o: ctl.c cforum.h $(TC)
cforum: $(O) $(CRYPTO)

.t.tc: mktpl/mktpl
	<$< mktpl/mktpl >$@

clean:
	rm cforum || true
	rm *.o t/*.tc || true

README: $(A)
	<README >.README awk '/^	/ {if(!i++){print;system($$0"|sed s/^/\\	/")}next} {i=0;print}'
	mv .README README

db:
	touch db
	chown :www db
	chmod g+w db
	sqlite3 db "CREATE TABLE settings(key, value, PRIMARY KEY (key));"
	sqlite3 db "INSERT INTO settings values('name', 'C Forum');"
	sqlite3 db "CREATE TABLE users(name, full, hash NOT NULL, salt NOT NULL, created INT NOT NULL, PRIMARY KEY (name));"
	sqlite3 db "INSERT INTO users values('john', 'John Ankarström', '\$$2b\$$10\$$...v8J996R...KGui.D3H.4K7ZLj0/fl9LcenV71fja/drdObqxZK', '\$$2b\$$10\$$...v8J996R...KGui.D3H.', 1462134896);"
	sqlite3 db "CREATE TABLE posts(parent INT, user INT NOT NULL, created INT NOT NULL, edited INT, subject NOT NULL, text NOT NULL, FOREIGN KEY (user) REFERENCES users(oid));"
	sqlite3 db "INSERT INTO posts values(NULL, 1, 1462137896, NULL, 'Hello World!', 'This is the first post.');"
	sqlite3 db "INSERT INTO posts values(1, 1, 1462138896, NULL, 'Re: Hello World!', 'This is the second post!');"
	sqlite3 db "CREATE TABLE atts(post INT NOT NULL, name NOT NULL, desc, mime NOT NULL, data BLOB, FOREIGN KEY (post) REFERENCES posts(oid));"
	sqlite3 db "$$(printf "INSERT INTO atts values(1, 'example', 'Some example shell code.', 'text/plain', '#!/bin/sh\necho Hello World!');")"