summaryrefslogtreecommitdiff
path: root/Makefile
blob: 2cc3168e5c210307e55fc326c4b32775b0731653 (plain)
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
NAME	:=	pipex

CC		=	cc
CFLAGS	=	-Wall -Wextra -Werror
HEADERS	=	-Iinclude
LIBS	=

VPATH	:=	src
SRC		=	main.c

OBJ_DIR	:=	obj
OBJ		:=	$(addprefix $(OBJ_DIR)/, $(SRC:%.c=%.o))


all: $(NAME)

$(NAME): $(OBJ)
	$(CC) $(CFLAGS) $(HEADERS) $^ -o $@ $(LIBS)

$(OBJ_DIR)/%.o: %.c
	@if [ ! -d "$(OBJ_DIR)" ]; then \
		mkdir $(OBJ_DIR); \
	fi
	$(CC) $(CFLAGS) $(HEADERS) -c $< -o $@

clean:
	@if [ -d "$(OBJ_DIR)" ]; then \
		rm -rf $(OBJ_DIR); \
		echo "Removed object files."; \
	fi

fclean: clean
	@if [ -f "$(NAME)" ]; then \
		rm -f $(NAME); \
		echo "Removed binary."; \
	fi

re:	fclean all

.PHONY: all clean fclean re