-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
47 lines (33 loc) · 1.31 KB
/
Makefile
File metadata and controls
47 lines (33 loc) · 1.31 KB
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
CC=gcc
CFLAGS=-O0 -g -Wall -Wextra -mno-red-zone -m64
SYMLIB_DIR=../Symlib
SYMLIB_DYNAM_BUILD_DIR=$(SYMLIB_DIR)/dynam_build
SYMLIB_INCLUDE_DIR=$(SYMLIB_DIR)/include
SYMLIB_LINK=-L $(SYMLIB_DYNAM_BUILD_DIR) -lSym
KERNEL_LINK=-L ./ -lkernel
FORKU_LINK=-L./ -lforku
SNAPSHOT_LINK=-L./ -lsnapshot
FUSE_FLAGS=`pkg-config fuse --cflags --libs`
LINUX_PATH=~/Symbi-OS/linux
obj-m += forku.o
all: libforku.a libsnapshot.a forku_util forku_monitord
libkernel.a: mklibkernel.sh
./mklibkernel.sh
forku.o: forku.c
make -C $(LINUX_PATH) M=$(PWD) modules_check
rm .*.cmd forku.mod modules.order
libforku.a: libkernel.a forku.o
ar rcs $@ forku.o
snapshot.o: libkernel.a libforku.a snapshot.c
$(CC) $(CFLAGS) -I$(SYMLIB_INCLUDE_DIR) -c snapshot.c -o $@ $(KERNEL_LINK) $(FORKU_LINK) $(SYMLIB_LINK)
libsnapshot.a: snapshot.o
ar rcs $@ $^
forku_util: forku_util.c libforku.a libsnapshot.a
$(CC) $(CFLAGS) -I$(SYMLIB_INCLUDE_DIR) $^ -o $@ $(KERNEL_LINK) $(FORKU_LINK) $(SNAPSHOT_LINK) $(SYMLIB_LINK)
forku_monitord: forku_monitord.c libforku.a libsnapshot.a
$(CC) $(CFLAGS) $(FUSE_FLAGS) -I$(SYMLIB_INCLUDE_DIR) $^ -o $@ $(KERNEL_LINK) $(FORKU_LINK) $(SNAPSHOT_LINK) $(SYMLIB_LINK)
run_forku_monitor: forku_monitord
@mkdir -p sn
taskset -c 0 ./forku_monitord -f -s -d ./sn
clean:
rm -rf *.o *.so *.s .*.d *.a core.* forku_util forku_monitord