Compare commits
1 Commits
main
...
test_frame
| Author | SHA1 | Date | |
|---|---|---|---|
| a4eb8224a8 |
67
c_projects/x_tfw4c/Makefile
Normal file
67
c_projects/x_tfw4c/Makefile
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# MakeFile for placeholder
|
||||||
|
# Created mm/dd/yyyy
|
||||||
|
# Authored by: xavi
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------
|
||||||
|
# | THIS IS A TEMPLATE |
|
||||||
|
# ----------------------
|
||||||
|
# TODO:
|
||||||
|
# %s/placeholder/project_name/g
|
||||||
|
# Change date file was created to today
|
||||||
|
# run make dirs to create project hierarchy
|
||||||
|
# Place headers in include and source files in src
|
||||||
|
# Delete this text
|
||||||
|
|
||||||
|
.POSIX:
|
||||||
|
|
||||||
|
# DIRECTORIES
|
||||||
|
SRC_DIR := src
|
||||||
|
INCLUDE_DIR := include
|
||||||
|
OBJ_DIR := obj
|
||||||
|
TESTS_DIR := tests
|
||||||
|
|
||||||
|
|
||||||
|
# C compiler settings
|
||||||
|
CC := gcc
|
||||||
|
CFLAGS := -ggdb -I$(INCLUDE_DIR) -Wall -Wextra -MMD -MP
|
||||||
|
DFLAGS :=
|
||||||
|
|
||||||
|
# Files
|
||||||
|
SRC := $(wildcard $(SRC_DIR)/*.c)
|
||||||
|
OBJ := $(SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
|
||||||
|
TESTS := $(wildcard $(TESTS_DIR)/*.c)
|
||||||
|
|
||||||
|
# Get Dependencies from gcc using -MMD and -MP
|
||||||
|
DEPENDENCIES := $(OBJ:%.o=%.d)
|
||||||
|
|
||||||
|
# Final Binary Name
|
||||||
|
PROJECT_NAME := placeholder
|
||||||
|
|
||||||
|
|
||||||
|
all: $(PROJECT_NAME)
|
||||||
|
|
||||||
|
|
||||||
|
$(TESTS:$(TESTS_DIR)/%.c=%): $(OBJ)
|
||||||
|
$(CC) $(CFLAGS) $(DFLAGS) -o $(@) $(^)
|
||||||
|
|
||||||
|
|
||||||
|
$(PROJECT_NAME): $(OBJ)
|
||||||
|
$(CC) $(CFLAGS) $(DFLAGS) -o $(@) $(^)
|
||||||
|
|
||||||
|
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
|
||||||
|
$(CC) $(CFLAGS) $(DFLAGS) -c -o $(@) $(<)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(PROJECT_NAME) $(OBJ_DIR)/* $(TESTS:$(TESTS_DIR)/%.c=%)
|
||||||
|
|
||||||
|
-include $(DEPENDENCIES)
|
||||||
|
|
||||||
|
.PHONY: clean all
|
||||||
|
|
||||||
|
# Create Project Hierarchy
|
||||||
|
|
||||||
|
dirs: $(SRC_DIR) $(OBJ_DIR) $(TESTS_DIR) $(INCLUDE_DIR)
|
||||||
|
|
||||||
|
$(SRC_DIR) $(OBJ_DIR) $(TESTS_DIR) $(INCLUDE_DIR):
|
||||||
|
mkdir -p $(@)
|
||||||
Loading…
Reference in New Issue
Block a user