-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
41 lines (30 loc) · 843 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
37
38
39
40
41
CFLAGS = -Wall -Wextra -pedantic
DEBUG = -g
CC = gcc
INCLUDE = -Iinclude/
H_DIR = include/
C_DIR = src/
O_DIR = obj/
BIN = bin/
EXEC = main
SOURCES = $(wildcard $(C_DIR)*.c)
OBJECTS = $(patsubst $(C_DIR)%.c, $(O_DIR)%.o, $(SOURCES))
VERSION = v0.1
TARNAME = ServaledPaging-$(VERSION).tar.xz
LIBS = libjeu.a
$(BIN)$(EXEC): $(OBJECTS)
@echo "-- LINKING OBJECTS --"
@mkdir -p $(BIN)
@$(CC) $(CFLAGS) $(INCLUDE) $^ -o $@
$(O_DIR)$(EXEC).o: $(C_DIR)$(EXEC).c # Added because main.h doesn't exist
@echo "Compiling $@"
@mkdir -p $(O_DIR)
@$(CC) $(CFLAGS) $(DEBUG) $(INCLUDE) -c $< -o $@
$(O_DIR)%.o: $(C_DIR)%.c $(H_DIR)%.h
@echo "Compiling $@"
@mkdir -p $(O_DIR)
@$(CC) $(CFLAGS) $(DEBUG) $(INCLUDE) -c $< -o $@
clean:
rm -fr $(BIN) $(O_DIR) $(TARNAME)
dist:
tar -cv --lzma $(C_DIR) $(H_DIR) Makefile README.md -f $(TARNAME)