-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
39 lines (25 loc) · 757 Bytes
/
Makefile
File metadata and controls
39 lines (25 loc) · 757 Bytes
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
AR=ar rcs
CC=gcc
CFLAGS=-Wall -Wextra -Wno-unused-parameter -O2
LIBS=-lZydis
INSTALL=./devkit
EXAMPLES=examples/malloc examples/simple examples/overhead examples/recursion examples/bench examples/backtrace
.PHONY: all install clean
all: libtinyhooks.a $(EXAMPLES)
install: $(INSTALL)/libtinyhooks.a $(INSTALL)/tinyhooks.h
$(EXAMPLES): %: %.c libtinyhooks.a
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
$(INSTALL)/libtinyhooks.a: libtinyhooks.a $(INSTALL)
cp $< $@
$(INSTALL)/tinyhooks.h: tinyhooks.h $(INSTALL)
cp $< $@
$(INSTALL):
mkdir -p $@
libtinyhooks.a: tinyhooks.o tinyhooks-asm.o
$(AR) $@ $^
tinyhooks-asm.o: tinyhooks-asm.S
$(CC) $(CFLAGS) -o $@ -c $<
tinyhooks.o: tinyhooks.c
$(CC) $(CFLAGS) -o $@ -c $<
clean:
rm -f *.o *.a $(EXAMPLES)