From 28e08d8238c8fa69ba2fcc9a1158e5dfaf895668 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Thu, 14 Nov 2019 17:05:54 +0100 Subject: [PATCH] explication makefil en cours --- .Makefile.swo | Bin 0 -> 45056 bytes .Makefile.swp | Bin 0 -> 40960 bytes .OLDMakefile.swp | Bin 16384 -> 0 bytes Makefile | 249 +++++++++++++++++++++++++++++++++--- test/.Makefile.swp | Bin 12288 -> 0 bytes test/Makefile | 38 +++++- test/{ => builds}/main.o | Bin test/{ => includes}/test.h | 0 test/libtest.a | Bin 1616 -> 1616 bytes test/putchar.o | Bin 684 -> 0 bytes test/{ => srcs}/main.c | 0 test/{ => temp}/putchar.c | 0 test/{ => temp}/transform.c | 2 +- test/test | Bin 8520 -> 8520 bytes test/transform.o | Bin 628 -> 0 bytes 15 files changed, 261 insertions(+), 28 deletions(-) create mode 100644 .Makefile.swo create mode 100644 .Makefile.swp delete mode 100644 .OLDMakefile.swp delete mode 100644 test/.Makefile.swp rename test/{ => builds}/main.o (100%) rename test/{ => includes}/test.h (100%) delete mode 100644 test/putchar.o rename test/{ => srcs}/main.c (100%) rename test/{ => temp}/putchar.c (100%) rename test/{ => temp}/transform.c (75%) delete mode 100644 test/transform.o diff --git a/.Makefile.swo b/.Makefile.swo new file mode 100644 index 0000000000000000000000000000000000000000..d86cddc3918210b992dd10a54df44b4239c02405 GIT binary patch literal 45056 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 literal 0 HcmV?d00001 diff --git a/.Makefile.swp b/.Makefile.swp new file mode 100644 index 0000000000000000000000000000000000000000..e5330346de97491dbefd5ff044fe25adae866cf6 GIT binary patch literal 40960 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�VDz|(Kt-R)i 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 MxY|rAB~kl-0i4)QBme*a diff --git a/Makefile b/Makefile index 55736c4..f5dc3cc 100644 --- a/Makefile +++ b/Makefile @@ -116,26 +116,36 @@ $(ODIR): # - NAME will execute only for the .c that has been # modified since last creation of NAME # - ranlib is precedeed by a "@" to avoid being print +# - if DEP (libft.h) is modified the library is remade +# - $@ means everything left to ":" +# - $< means first argument right to ":" $(NAME): $(OBJ) $(DEP) ar -rc $@ $< @ranlib $@ -# - this rule depend of the list of files.c and file.h +# - this rule depend of the list of files.c # - if any of these files are more recent than the file # builds/file.o equivalent then the rule will rebuild # this .o file +# - the flag -o is there to put explicit name of the .o +# files since they must be written within a directory +# path (builds/) $(ODIR)/%.o: %.c - $(CC) $(CFLAGS) -c $< + $(CC) $(CFLAGS) -c -o $@ $< +# clean the objects file +# rm is use with it's native path to avoid using an alias clean: /bin/rm -rf $(ODIR) +# clean the objects and executable files fclean: clean /bin/rm -f $(NAME) +# remake the compilation re: fclean all -.PHONY: clean +.PHONY: clean fclean @@ -246,10 +256,9 @@ re: fclean all # si on compile les deux ca marche : # gcc main.c ft_putchar.c -# - - - - - - - - - - - - - - - - - - - - - - - -# les .o : pre-compiler certains fichiers pour -# ne pas les recompiler a chaque fois -# - - - - - - - - - - - - - - - - - - - - - - - +# - - - - - - - - - - - - - - - +# les .o : compiler et linker +# - - - - - - - - - - - - - - - # ca fonctionne mais gcc doit a chaque fois recompiler # ft_putchar.c alors qu'il n'est pas modifie, donc on peut @@ -268,11 +277,14 @@ re: fclean all # objet .o qui est deja traduit en langue d'ordinateur # et pret a etre rajoute a la compilation : # -# # gcc -c ft_putchar.c --> donne ft_putchar.o +# # gcc -c ft_putchar.c --> donne ft_putchar.o +# # gcc -c main.c --> donne main.o # -# qu'on peut compiler avec le fichier contenant le main : +# cette etape qui consiste a transformer les fichiers en +# objets .o s'appelle la compilation, il faut ensuite +# linker les objets, ce qui avec gcc se fait simplement : # -# # gcc file.c ft_putchar.o +# # gcc main.o ft_putchar.o # # on va maintenant voir comment faire une libraire qui # contient tous nos fichiers objets @@ -456,20 +468,136 @@ re: fclean all # makefile basique # - - - - - - - - - -# exemple d'un makefilede basic +# exemple d'un makefilede basic qui sert a creer un +# executable pour un programme : # -# # |DECLARATION VARIABLES -# # NAME = libtest.h -# # CC = gcc +# [archtecture] +# # main.c +# # function01.c +# # function02.c +# # header.h +# # Makefile +# +# [Makefile] +# # # DECLARATION VARIABLES +# # +# # NAME = bin_output +# # CC = gcc # # CFLAGS = -I. -c -# # SRCS = example01.c \ -# # example02.c -# # OBJ = $(SRCS:.c=.o) |ecrit les fichiers .c en .o +# # DEPS = header.h +# # SRCS = main.c \ +# # function01.c \ +# # function02.c +# # ODIR = ./builds +# # OBJS = $(addprefix $(ODIR)/, $(SRCS:.c=.o)) # # -# # all: $(NAME) |make execute sa premiere regle NAME -# # $(NAME): $(OBJ) |NAME execute d'abord OBJ -# # ar -rc $@ $< | +# # +# # # RULES TO EXECUTE +# # +# # all: $(ODIR) $(NAME) +# # $(NAME): $(OBJ) +# # ar -rc $@ $< +# # #clean: +# # /bin/rm -rf $(ODIR) +# # fclean: clean +# # /bin/rm -f $(NAME) +# # re: fclean all +# # .PHONY: all clean fclean re # +# apres avoir ecrit "make" dans le terminal le Makefile +# va s'executer et l'architecture du fichier racine sera +# un peu changee : +# +# [archtecture] +# # main.c +# # main.o +# # function01.c +# # function01.o +# # function02.c +# # function02.o +# # header.h +# # Makefile +# # bin_output +# +# +# +# # - "addprefix" is a built-in expansion function used by +# # makefile to perform a transformation on file names, in +# # this case we want to put all the .o files in a +# # subdirectory named "build" +# # - $(SRCS:.c=.o) is a "substitute reference", an +# # abbreviation for the expansion function "patsubst" : +# # $(patsubst %.c,%.o,$(SRCS)) +# OBJ = $(addprefix $(ODIR)/, $(SRCS:.c=.o)) +# +# # - when you write "make" in command line it will execute +# # the first rule wrote in the Makefile, wich is "all" by +# # convention because usually when you type "make" you +# # expect it to build all +# # - it first verify if ODIR is created and if not create +# # it, then it calls NAME to create the library +# all: $(ODIR) $(NAME) +# +# # create the folder where all the .o files will be stored +# $(ODIR): +# mkdir -p $(ODIR) +# +# # - NAME will create the library libft.a +# # - first it checks if any OBJ (files.o) have more recent +# # date of modification than NAME (libft.a), and for each +# # it will execute +# # - $(OBJ) will expand in the list of files.o and each of +# # them will call the rule "$(ODIR)/%.o:" below because it +# # has its exact pattern +# # - NAME will execute only for the .c that has been +# # modified since last creation of NAME +# # - ranlib is precedeed by a "@" to avoid being print +# # - if DEP (libft.h) is modified the library is remade +# # - $@ means everything left to ":" +# # - $< means first argument right to ":" +# $(NAME): $(OBJ) $(DEP) +# ar -rc $@ $< +# @ranlib $@ +# +# # - this rule depend of the list of files.c +# # - if any of these files are more recent than the file +# # builds/file.o equivalent then the rule will rebuild +# # this .o file +# # - the flag -o is there to put explicit name of the .o +# # files since they must be written within a directory +# # path (builds/) +# $(ODIR)/%.o: %.c +# $(CC) $(CFLAGS) -c -o $@ $< +# +# # clean the objects file +# # rm is use with it's native path to avoid using an alias +# clean: +# /bin/rm -rf $(ODIR) +# +# # clean the objects and executable files +# fclean: clean +# /bin/rm -f $(NAME) +# +# # remake the compilation +# re: fclean all +# +# .PHONY: clean fclean + + + + + + + + + + + + + + + + # Make a des built-in pattern rules : # https://www.gnu.org/software/make/manual/html_node/Catalogue-of-Rules.html # par exemple pour construire des .o a partir de .c @@ -532,3 +660,84 @@ re: fclean all # the target, and if so execute the recipes + + +# NAME = fdf +# CC = gcc -g3 +# SRCDIR = srcs +# INCLUDESDIR = includes +# LIBFTDIR = libft +# VPATH = $(INCLUDESDIR) \ +# $(SRCDIR) \ +# $(SRCDIR)/init \ +# $(SRCDIR)/print \ +# $(SRCDIR)/calcul \ +# $(SRCDIR)/projection/isometrique \ +# $(SRCDIR)/projection/parallel \ +# $(SRCDIR)/parser \ +# $(SRCDIR)/loop_and_event +# LIBFT = $(LIBFTDIR)/libft.a +# INCLUDES = fdf.h \ +# init.h \ +# print.h \ +# calcul.h \ +# projection.h \ +# parser.h \ +# loop.h +# SRCS = main.c \ +# create_header.c \ +# create_map.c \ +# color_map.c \ +# color_line.c \ +# color_map_pixel.c \ +# print_3d.c \ +# create_mapping.c \ +# straight_line.c \ +# add_point.c \ +# quadrant_one.c \ +# quadrant_two.c \ +# quadrant_three.c \ +# get_points.c \ +# zoom.c \ +# shift.c \ +# alpha_omega.c \ +# increase_z.c \ +# key_dispatcher.c \ +# set_new_color.c \ +# set_projection.c +# ODIR = objs/ +# OBJS = $(addprefix $(OBJDIR), $(SRCS:.c=.o)) +# INC = -I $(INCLUDESDIR) -I $(LIBFTDIR)/$(INCLUDESDIR) +# all: +# @$(MAKE) -C $(MLX_DIR); +# @$(MAKE) -C $(LIBFTDIR) +# @$(ECHO) "$(FLAGS_COLOR)Compiling with flags $(CFLAGS) $(EOC)" +# @$(MAKE) $(NAME) +# debug: +# @$(MAKE) re DEBUG=1 +# $(LIBFT): +# @$(MAKE) -C $(LIBFTDIR) +# $(NAME): $(LIBFT) $(OBJDIR) $(OBJECTS) +# @$(CC) -o $@ $(OBJECTS) $(CFLAGS) $(LFLAGS) $(MLX_LIB) +# @$(ECHO) "$(OK_COLOR)$(NAME) linked with success !$(EOC)" +# $(OBJDIR): +# @$(MKDIR) $@ +# $(OBJDIR)%.o: $(SRC_DIR)%.c $(INCLUDES) +# @$(CC) -c $< -o $@ $(CFLAGS) +# @$(ECHO) "${COMP_COLOR}$< ${EOC}" +# clean: +# @$(MAKE) clean -C $(MLX_DIR) +# @$(MAKE) clean -C $(LIBFTDIR) +# @$(RM) $(OBJECTS) +# @$(RM) -r $(OBJDIR) && $(ECHO) "${OK_COLOR}Successfully cleaned $(NAME) objects files ${EOC}" +# fclean: clean +# @$(MAKE) fclean -C $(MLX_DIR) +# @$(MAKE) fclean -C $(LIBFTDIR) +# @$(RM) $(NAME) && $(ECHO) "${OK_COLOR}Successfully cleaned $(NAME) ${EOC}" +# re: fclean all +# rere: +# @$(RM) $(OBJECTS) +# @$(RM) -r $(OBJDIR) +# @$(RM) $(BINDIR)/$(NAME) +# @$(MAKE) all +# .PHONY: all clean fclean re debug diff --git a/test/.Makefile.swp b/test/.Makefile.swp deleted file mode 100644 index 86996582261e7fb76cf8c92603d27ade32b1f51d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI&Jx&5a6bJB!g$aex=mo|P5-FJF!vsR4K~02&NHo$}4CAhBTv%LYqc&Q41drhb z^a9#=0b9L>Z)7R7prIoEC;2n`X5LITzm7mR-)Xc&MHYz13eo4++gbCK=x~v!7YC|; zYd5A3w-l9!g}mG;N-vtydN;n%3H+{S9OI6R(^8kN=LhbTQ`mw41ZEb9jhCw|QK?wS z+q*V5*2UWD>CD&S0ti3=0uX=z1Rwwb2tZ(d1k5l+_x!pG$t$OmIrV2wN=y)d00bZa z0SG_<0uX=z1Rwwb2+W~?IwvYG6J2xc@BfqU{~uhxb6z;loF~pB=Yey>vHe#Z&FOI3 z91I9R00Izz00bZa0SG_<0uX?}zY$1ZXf5dHGpEJYE@gff3BY(gKCr!i z(9R}D>~<*ZALV)dsNT$yeXdRl;w4ez>g0H@Ds@eUS>n^YWZPtqc%6&B@&|nLFgCiU PB7QQF8jQR!>Pt=EndneJ diff --git a/test/Makefile b/test/Makefile index 6596621..280bff1 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,9 +1,33 @@ -SRC = main.c putchar.c transform.c -DEP = test.h -OBJ = $(SRC:.c=.o) +#-------------# +# 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 #putchar.c transform.c +ODIR = ./builds +OBJS = $(SRCS:%.c=$(ODIR)/%.o) +# OPTIONS de GCC # +CFLAGS = -I$(IDIR) +LFLAGS = -L$(LDIR) -l$(LIBS) -test: $(OBJ) - gcc -I. -o test $(OBJ) -%.o: %.c $(DEP) - gcc -I. -c $< +#---------# +# RULES # +#---------# +all: $(ODIR) $(NAME) +$(NAME): $(OBJS) $(DEPS) + $(CC) $(CFLAGS) -o test $(OBJS) $(LFLAGS) +$(ODIR): + mkdir -p $@ +$(ODIR)/%.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< diff --git a/test/main.o b/test/builds/main.o similarity index 100% rename from test/main.o rename to test/builds/main.o diff --git a/test/test.h b/test/includes/test.h similarity index 100% rename from test/test.h rename to test/includes/test.h diff --git a/test/libtest.a b/test/libtest.a index e312c0d7b3912fdcf636562d09a815f3100ace4e..d07faf379996509a80486812e3657d6e627c1a8e 100644 GIT binary patch delta 40 pcmcb>bAe}q44b*Jxq+q0M5QWL5X)@i!oy4u)Km;my^3)TPt delta 42 tcmcb>bAe}q46Bi$nUTT7g%T4jlR<0)2Zp86m*c)6hA03wW zca&+VSVte3CD8qdpk`q9eC~!$-z##=zvnwvrEL|rR6k{D5u<7?aTi<#^Ji%;5D5Xf zRPqUg=sPSch&WIB4#*sGR#T<^9Zv1Zt37%*+vBeX=`op(tt?meZJfPHAA4eb+M_4) z{IS$ky?;J-DV@(K-ncp;BQXtgsa8)>wTaw1m}Uj^|IvQayr~>Cs&WX}08yTABUa^t aWmyy&h$V{;?nWHMk?T7l@i6Q~9{m6d|3u;d diff --git a/test/main.c b/test/srcs/main.c similarity index 100% rename from test/main.c rename to test/srcs/main.c diff --git a/test/putchar.c b/test/temp/putchar.c similarity index 100% rename from test/putchar.c rename to test/temp/putchar.c diff --git a/test/transform.c b/test/temp/transform.c similarity index 75% rename from test/transform.c rename to test/temp/transform.c index 36b8f0d..744c097 100644 --- a/test/transform.c +++ b/test/temp/transform.c @@ -2,5 +2,5 @@ int transform(int a) { - return(--a); + return (--a); } diff --git a/test/test b/test/test index b5322265e5aec77c5ce693c8bc9901bdb395f7b1..e8415bc3b952cfb8aee3c5e6e99f32b45711875a 100755 GIT binary patch delta 353 zcmX@%bi!%E1wjUW1_nk328LcB27`$Y?FIXwf^1N+zR8A+_LCJDIXI=DB2y+eGTIAn zfU5I=if-6^k&&NCK-ayuWh$S^$sOu}35=`t1tx!BwqRt~tjThnYq9{pl%Nt&d8g}- zZr2|j2l@B?d|@=%nqP8q3%>xJmJ4;4N$lW+3tGp^YzDBvJapH>oIP+F3lkyymwSW=XjSDcn# zl*{181XRb&FhLGTTmTUb@<0I~m>}n10HQ(i{EPx1COA;Uz+L^w1_nlE1|R{%EI_;i#83cYAdm!N3lJX%sDO&!fU1GtHx zttf%8A^Z^6h!6xH#u9-tK<0tm0tYM%4RAJ)5g(tNpIeZaToPZJSDu-d5+Cp5f-Elq z>Lw-s#JiQWq^3ae+Yo7V{qgX fXk&8bWkWI?sGJRCFh8>C@g+rxdBth@MY#+BMln04