aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 7a5c899386fa680832a5b978ab92cf22dc3c8c1a (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
41
42
43
44
45
46
47
48
49
50
51
52
53
CC?=cc
INSTALL?=install
PKGCONFIG?=$(shell which pkg-config)
GLIB_COMPILE_RESOURCES?=$(shell $(PKGCONFIG) --variable=glib_compile_resources gio-2.0)

CFLAGS?=-o2 -pipe
CFLAGS+=-Wall -Wextra -Wno-unused-parameter
CFLAGS+=$(shell $(PKGCONFIG) --cflags gtk+-3.0)
LDFLAGS+=$(shell $(PKGCONFIG) --libs gtk+-3.0)
DESTDIR?=
PREFIX?=/usr/local
BINDIR?=$(PREFIX)/bin
APPDIR?=$(PREFIX)/share/applications
MANDIR?=$(PREFIX)/share/man/man1

SRCDIR=src
DATADIR=data
OUTDIR=build
OBJECTS= $(OUTDIR)/main.o		\
		 $(OUTDIR)/file.o		\
		 $(OUTDIR)/image.o		\
		 $(OUTDIR)/input.o		\
		 $(OUTDIR)/window.o		\
		 $(OUTDIR)/option.o		\
		 $(OUTDIR)/resources.o	

all: qwe

qwe: $(OBJECTS)
	$(CC) -o qwe $(OBJECTS) $(LDFLAGS)

$(SRCDIR)/resources.c: $(DATADIR)/qwe.gresources.xml $(DATADIR)/qwe.css
	$(GLIB_COMPILE_RESOURCES) $(DATADIR)/qwe.gresources.xml --target=$(SRCDIR)/resources.c --generate-source

$(OUTDIR)/%.o: $(SRCDIR)/%.c
	@mkdir -p $(OUTDIR)
	$(CC) -c $(CFLAGS) -o $@ $<

clean:
	rm -rf $(OUTDIR) qwe
	rm -rf $(SRCDIR)/resources.c

install: qwe qwe.desktop
	$(INSTALL) -Dm0755 qwe $(DESTDIR)$(BINDIR)/qwe
	$(INSTALL) -Dm0644 qwe.desktop $(DESTDIR)$(APPDIR)/qwe.desktop
	$(INSTALL) -Dm0644 doc/qwe.1 $(DESTDIR)$(MANDIR)/qwe.1

uninstall:
	rm -f $(DESTDIR)$(BINDIR)/qwe
	rm -f $(DESTDIR)$(APPDIR)/qwe.desktop
	rm -f $(DESTDIR)$(MANDIR)/qwe.1

.PHONY: all clean install uninstall