-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
30 lines (23 loc) · 703 Bytes
/
Copy pathMakefile
File metadata and controls
30 lines (23 loc) · 703 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
NAME=asm-sysmon
CC=gcc
ASM=nasm
ASMFLAGS=-f elf64 -g -F dwarf -Iinclude/
CFLAGS=-std=c11 -Wall -Wextra -Werror -ffreestanding -fno-stack-protector -fno-pic -fno-pie -Iinclude
LD=gcc
LDFLAGS=-nostdlib -no-pie
CSRC=src/core/main.c src/core/proc.c src/ui/ui.c src/input/input.c
ASMSRC=src/syscalls/syscalls.asm
OBJ=$(patsubst src/%.c,build/objs/%.o,$(CSRC)) $(patsubst src/%.asm,build/objs/%.o,$(ASMSRC))
all: build/$(NAME)
build/$(NAME): $(OBJ)
mkdir -p build
$(LD) $(LDFLAGS) -o $@ $(OBJ)
build/objs/%.o: src/%.c
mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c $< -o $@
build/objs/%.o: src/%.asm
mkdir -p $(dir $@)
$(ASM) $(ASMFLAGS) $< -o $@
clean:
rm -rf build/objs build/$(NAME)
.PHONY: all clean