aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorkatherine <ageha@airen-no-jikken.icu>2019-12-10 23:29:21 -0700
committerkatherine <ageha@airen-no-jikken.icu>2019-12-10 23:29:21 -0700
commit47b6e46d9bba6835018bdf7432ea742eaca45a03 (patch)
tree45bef2893919900d4987dcc033a67f6f743f4077 /Makefile
parent8cb7ab5550a528b0fdb75533e6dc0bcbc7a42719 (diff)
downloadevery-47b6e46d9bba6835018bdf7432ea742eaca45a03.tar.gz
implement option parsing and calendar locating
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile64
1 files changed, 64 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..1f49a2d
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,64 @@
+.POSIX:
+.SUFFIXES:
+
+CC = cc
+CFLAGS = -Wall -O2
+CFLAGSDEBUG = -std=c99 -Wall -pedantic -ggdb3 -O0 -DDEBUG
+PREFIX = /usr/local
+
+all: every
+
+debug: dbg_every
+
+install: all
+ mkdir -p $(DESTDIR)$(PREFIX)/bin
+ mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
+ cp -f every $(DESTDIR)$(PREFIX)/bin
+ gzip < every.1 > $(DESTDIR)$(PREFIX)/share/man/man1/every.1.gz
+
+every: build/release build/release/calendar.o build/release/conf.o build/release/main.o build/release/opt.o
+ $(CC) $(LDFLAGS) -o every build/release/calendar.o build/release/conf.o build/release/main.o build/release/opt.o $(LDLIBS)
+
+dbg_every: build/debug build/debug/calendar.o build/debug/conf.o build/debug/main.o build/debug/opt.o
+ $(CC) $(LDFLAGS) -o dbg_every build/debug/calendar.o build/debug/conf.o build/debug/main.o build/debug/opt.o $(LDLIBS)
+
+build/release:
+ mkdir -p build/release
+
+build/debug:
+ mkdir -p build/debug
+
+src/version.h:
+ printf "%s\n%s\n\n%s%s%s\n\n%s\n" \
+ "#ifndef EVERY_VERSION_H" \
+ "#define EVERY_VERSION_H" \
+ "#define VERSION \"every-" "8cb7ab5" "\"" \
+ "#endif" > src/version.h
+
+build/release/calendar.o: src/calendar.c
+ $(CC) -c $(CFLAGS) -o build/release/calendar.o src/calendar.c
+build/release/conf.o: src/conf.c
+ $(CC) -c $(CFLAGS) -o build/release/conf.o src/conf.c
+build/release/main.o: src/main.c src/opt.h \
+ src/../reqs/simple-xdg-bdirs/simple-xdg-bdirs.h
+ $(CC) -c $(CFLAGS) -o build/release/main.o src/main.c
+build/release/opt.o: src/opt.c src/version.h src/opt.h \
+ src/../reqs/simple-opt/simple-opt.h
+ $(CC) -c $(CFLAGS) -o build/release/opt.o src/opt.c
+
+build/debug/calendar.o: src/calendar.c
+ $(CC) -c $(CFLAGSDEBUG) -o build/debug/calendar.o src/calendar.c
+build/debug/conf.o: src/conf.c
+ $(CC) -c $(CFLAGSDEBUG) -o build/debug/conf.o src/conf.c
+build/debug/main.o: src/main.c src/opt.h \
+ src/../reqs/simple-xdg-bdirs/simple-xdg-bdirs.h
+ $(CC) -c $(CFLAGSDEBUG) -o build/debug/main.o src/main.c
+build/debug/opt.o: src/opt.c src/version.h src/opt.h \
+ src/../reqs/simple-opt/simple-opt.h
+ $(CC) -c $(CFLAGSDEBUG) -o build/debug/opt.o src/opt.c
+
+clean:
+ rm -f src/version.h
+ rm -f every
+ rm -f dbg_every
+ rm -rf build