Templates/GCC_Project
Ulysse Cura df3a988ff6 Written READMEs 2025-12-21 22:12:02 +01:00
..
.vscode Fixed typo and added optional files for configuration in the GCC Project template 2025-12-21 22:11:46 +01:00
src Added template for GCC project 2025-12-21 19:43:49 +01:00
.gitignore Added template for GCC project 2025-12-21 19:43:49 +01:00
Makefile Fixed typo and added optional files for configuration in the GCC Project template 2025-12-21 22:11:46 +01:00
README.md Written READMEs 2025-12-21 22:12:02 +01:00

README.md

GCC_Project

Description

This is a template for C projects using make and gcc.

Setup

To make this template work you will need to install make and gcc.

On Debian 13 the command is :

sudo apt install make gcc

Usage

In vscode open your task runner and use the different tasks :

  • Build : Build the current project
  • Clean : Clean build directory
  • Run : Run the compiled executable
  • Build Verbose : Build with verbosity on (show the commands called by make while building the project)

They correspond to calling make with the following :

  • Build : make
  • Clean : make clean
  • Run : make run
  • Verbosity on : make ... VERBOSE=1 ; You can add verbosity to any task that you want

If you want to add more source files in your project, add their path in the SOURCES variable in the Makefile. For exemple to add src/wifi/udp_client.c you should do something like this :

# Source files
SOURCES := \
  src/main.c \
  src/wifi/udp_client.c

You can also add include drectories for headers : TIP : Add the same path to your c_cpp_properties.json in the .vscode folder in the includePath list, like this you don't have include errors by IntelliSense

# Include directories
INCLUDE_DIRS = lib/super_extra/include/

.vscode/c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Default",
            "includePath": [
                "lib/super_extra/include/"
            ]
        }
    ],
    "version": 1
}

You can change the name of the executable and the build dir too (don't forget to change it in the .gitignore):

# Build folder
BUILD_DIR = build_dir

#...

# Output target name
OUTPUT := BestExecOfHumanity

And change the compiler and linker args as you want :

# Flags
CCFLAGS = -Wall -Wextra -std=c17 -g -no-pie
LDFLAGS = -no-pie