-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
36 lines (27 loc) · 802 Bytes
/
Makefile
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
# disable bullshit ass implicit rules; i'll be doing shit explicitly
export MAKEFLAGS += --no-builtin-rules
.SUFFIXES:
CFLAGS := -std=gnu99 -O1 -g -Wall -pipe `pkg-config --cflags gtk+-2.0`
LDFLAGS := -Wl,-O1
LDFLAGS += `pkg-config --libs x11 gtk+-2.0`
OBJDIR := objdir
OBJECTS := $(patsubst %.c, %.o, $(wildcard *.c))
OBJECTS := $(addprefix $(OBJDIR)/, $(OBJECTS))
PREFIX := /usr/local
INSTALL := -m 755
BINARY := pimply
.PHONY: all clean install uninstall
all: $(BINARY)
include $(wildcard $(OBJDIR)/*.d)
$(BINARY): $(OBJECTS)
$(CC) $(OBJECTS) -o $(BINARY) $(LDFLAGS)
$(OBJDIR)/%.o: %.c | $(OBJDIR)
$(CC) $(CFLAGS) -MMD -c -o $@ $<
$(OBJDIR):
mkdir $(@)
clean:
rm -rf $(OBJDIR) *.d $(BINARY) *~
install:
install $(INSTALL) $(BINARY) $(PREFIX)/bin
uninstall:
rm $(PREFIX)/bin/$(BINARY)