-
orestis.malaspin authoredorestis.malaspin authored
Makefile 1.03 KiB
# galaxy: galaxy.o stars.o vec.o
# gcc -o galaxy galaxy.o stars.o vec.o
# galaxy.o: galaxy.c stars.h
# gcc -c galaxy.c
# stars.o: stars.c stars.h vec.h
# gcc -c stars.c
# vec.o: vec.c vec.h
# gcc -c vec.c
# clean:
# rm -f *.o galaxy
CC = gcc
CFLAGS = -g -Wall -Wextra -pedantic -O0 -std=c11
LDFLAGS = -lm
x = foo
y = $(x) bar
x = later
######### advanced v1 ############
SOURCES = galaxy.c stars.c vec.c
##################################
######### advanced v2 ############
# SOURCES = $(wildcard *.c)
# means *.c
##################################
# OK pour v1 et v2
# OBJECTS contient SOURCES avec .c -> .o
OBJECTS = $(SOURCES:.c=.o)
######### advanced v3 ############
# OBJECTS := $(patsubst %.c,%.o,$(wildcard *.c))
##################################
# galaxy sera l'exécutable (galaxy.c contient le main)
TARGET = galaxy
$(TARGET) : $(OBJECTS)
@echo $(x) $(y)
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
# galaxy.o: stars.h vec.h
# stars.o: *.h
# vec.o: vec.h
.PHONY: clean
clean:
rm -f $(TARGET) $(OBJECTS)
# clean:
# rm -f *.o main