From 8a4ae152434ebf6842f5f6bc9b303850d9ea22a4 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 21 Dec 2025 16:14:37 +0000
Subject: [PATCH 1/3] Initial plan
From a9632f3009ea9549e46339ea8c78b8cd18e6043b Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 21 Dec 2025 16:20:24 +0000
Subject: [PATCH 2/3] Fix library linking flags and add documentation for -L,
-l, and -I flags
Co-authored-by: alcarril <173299695+alcarril@users.noreply.github.com>
---
.gitignore | 13 +++++++++++++
Makefile | 8 +++++++-
README.md | 36 ++++++++++++++++++++++++++++++++++++
3 files changed, 56 insertions(+), 1 deletion(-)
create mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f130fff
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,13 @@
+# Object files
+*.o
+*.a
+
+# Binary
+minishell
+
+# Build directories
+obj/
+
+# Temporary files
+*~
+.DS_Store
diff --git a/Makefile b/Makefile
index e21909f..49ea1b2 100644
--- a/Makefile
+++ b/Makefile
@@ -2,12 +2,18 @@ NAME = minishell
CC = cc
FLAGS = -Wall -Wextra -Werror
RM = rm -rf
+# Library linking flags:
+# -L
: Adds to library search path (for finding .a and .so files)
+# -l: Links against lib.a or lib.so
+# -I: Adds to header (.h) search path (used in INCLUDE_FLAG below)
LIBS = -lreadline
MKDIR = mkdir -p
INCLUDE_DIR = inc
LIBFT_DIR = inc/libft
LIBFT_A = $(LIBFT_DIR)/libft.a
+# Use -L to specify library directory and -l to link the library
+LIBFT_FLAGS = -L$(LIBFT_DIR) -lft
INCLUDE_FLAG = -I$(INCLUDE_DIR) -I$(LIBFT_DIR)
INCLUDE = $(INCLUDE_DIR)/minishell.h
@@ -101,7 +107,7 @@ $(NAME): $(OBJS) $(LIBFT_A)
@$(MAKE) --no-print-directory message
@$(MAKE) --no-print-directory loading_bar
@echo ""
- @$(CC) $(FLAGS) $(OBJS) $(LIBFT_A) -o $(NAME) $(LIBS)
+ @$(CC) $(FLAGS) $(OBJS) $(LIBFT_FLAGS) -o $(NAME) $(LIBS)
$(OBJ_DIR)%.o: $(SRC_DIR)%.c $(INCLUDE)
@$(MKDIR) $(dir $@)
diff --git a/README.md b/README.md
index ea3048e..275d00d 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,8 @@
2. SEÑALES
3. RL
4. ENVIRON
+ 5. HEREDOCS
+ 6. FLAGS DE COMPILACIÓN
```
## 1. GIT
@@ -74,3 +76,37 @@ ej1: _=hola -> clave: _ / valor: _=hola
ej2: _algo=adios:
- ->clave1: _algo / valor1: adios
- ->clave2: _ / valor2 _algo=adios
+
+## 6. FLAGS DE COMPILACIÓN
+Es importante entender correctamente los flags de compilación y linkeo en C:
+
+### Flags de Linkeo de Librerías:
+```
+-L: Añade a la ruta de búsqueda de librerías
+ Se usa para indicar DÓNDE buscar archivos .a y .so
+ Ejemplo: -L./inc/libft busca librerías en el directorio inc/libft
+
+-l: Linkea contra la librería lib.a o lib.so
+ Se usa para indicar QUÉ librería usar
+ Ejemplo: -lft linkea contra libft.a o libft.so
+ -lreadline linkea contra libreadline.a o libreadline.so
+```
+
+### Flags de Includes (Headers):
+```
+-I: Añade a la ruta de búsqueda de headers (.h)
+ Se usa para encontrar archivos .h durante la compilación
+ Ejemplo: -I./inc permite usar #include
+```
+
+### Resumen:
+- **-L** es para especificar directorios donde buscar librerías (.a, .so)
+- **-l** es para linkear contra una librería específica
+- **-I** es para especificar directorios donde buscar headers (.h)
+
+### Uso en el Makefile:
+```makefile
+LIBFT_FLAGS = -L$(LIBFT_DIR) -lft # Busca en inc/libft y linkea libft.a
+LIBS = -lreadline # Linkea libreadline (del sistema)
+INCLUDE_FLAG = -I$(INCLUDE_DIR) -I$(LIBFT_DIR) # Headers en inc/ e inc/libft/
+```
From cbb2c64c432d8bf26ba4a991145e719559d8f7c6 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 21 Dec 2025 16:22:01 +0000
Subject: [PATCH 3/3] Fix Spanish language consistency in README documentation
Co-authored-by: alcarril <173299695+alcarril@users.noreply.github.com>
---
README.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index 275d00d..0eeebf1 100644
--- a/README.md
+++ b/README.md
@@ -86,10 +86,10 @@ Es importante entender correctamente los flags de compilación y linkeo en C:
Se usa para indicar DÓNDE buscar archivos .a y .so
Ejemplo: -L./inc/libft busca librerías en el directorio inc/libft
--l: Linkea contra la librería lib.a o lib.so
+-l: Enlaza contra la librería lib.a o lib.so
Se usa para indicar QUÉ librería usar
- Ejemplo: -lft linkea contra libft.a o libft.so
- -lreadline linkea contra libreadline.a o libreadline.so
+ Ejemplo: -lft enlaza contra libft.a o libft.so
+ -lreadline enlaza contra libreadline.a o libreadline.so
```
### Flags de Includes (Headers):
@@ -101,12 +101,12 @@ Es importante entender correctamente los flags de compilación y linkeo en C:
### Resumen:
- **-L** es para especificar directorios donde buscar librerías (.a, .so)
-- **-l** es para linkear contra una librería específica
+- **-l** es para enlazar contra una librería específica
- **-I** es para especificar directorios donde buscar headers (.h)
### Uso en el Makefile:
```makefile
-LIBFT_FLAGS = -L$(LIBFT_DIR) -lft # Busca en inc/libft y linkea libft.a
-LIBS = -lreadline # Linkea libreadline (del sistema)
+LIBFT_FLAGS = -L$(LIBFT_DIR) -lft # Busca en inc/libft y enlaza libft.a
+LIBS = -lreadline # Enlaza libreadline (del sistema)
INCLUDE_FLAG = -I$(INCLUDE_DIR) -I$(LIBFT_DIR) # Headers en inc/ e inc/libft/
```