34 lines
621 B
Makefile
34 lines
621 B
Makefile
#-------------#
|
|
# VARIABLES #
|
|
#-------------#
|
|
NAME = test
|
|
CC = gcc
|
|
VPATH = srcs
|
|
# HEADERS #
|
|
IDIR = includes
|
|
_DEPS = test.h
|
|
DEPS = $(_DEPS:%.h=$(IDIR)/%.h)
|
|
# LIBRAIRIES #
|
|
LDIR = ./
|
|
_LIBS = libtest.a
|
|
LIBS = $(_LIBS:lib%.a=%)
|
|
# FUNCTIONS et OBJETS #
|
|
SRCS = main.c to_uppercase.c #putchar.c transform.c
|
|
ODIR = ./builds
|
|
OBJS = $(SRCS:%.c=$(ODIR)/%.o)
|
|
# OPTIONS de GCC #
|
|
CFLAGS = -I$(IDIR)
|
|
LFLAGS = -L$(LDIR) -l$(LIBS)
|
|
|
|
#---------#
|
|
# RULES #
|
|
#---------#
|
|
all: $(ODIR) $(NAME)
|
|
$(NAME): $(OBJS) $(DEPS)
|
|
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LFLAGS)
|
|
$(ODIR):
|
|
mkdir -p $@
|
|
$(ODIR)/%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|