Skip to content

Commit

Permalink
makefile:easy start
Browse files Browse the repository at this point in the history
  • Loading branch information
adarsh-naik-2004 committed Feb 19, 2025
1 parent a8307d7 commit 81047bb
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ FileVault
/dist/
/CMakeFiles/
/CMakeCache.txt
Makefile

cmake_install.cmake

.vscode/
Expand Down
35 changes: 35 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Compiler and Flags
CXX = g++
CXXFLAGS = -g -I./include -Wall -Wextra -std=c++17

# Directories
SRCDIR = src
BUILDDIR = build
BINDIR = bin

# Source Files and Object Files
SOURCES = $(wildcard $(SRCDIR)/*.cpp)
OBJECTS = $(patsubst $(SRCDIR)/%.cpp, $(BUILDDIR)/%.o, $(SOURCES))

# Target Executable
TARGET = $(BINDIR)/FileVault

# Default Build Target
all: $(TARGET)
@echo "Build complete"

# Linking the Final Executable
$(TARGET): $(OBJECTS) | $(BINDIR)
$(CXX) $(CXXFLAGS) $^ -o $@

# Compiling Source Files
$(BUILDDIR)/%.o: $(SRCDIR)/%.cpp | $(BUILDDIR)
$(CXX) $(CXXFLAGS) -c $< -o $@

# Create Necessary Directories
$(BUILDDIR) $(BINDIR):
mkdir -p $@

# Clean Build Files
clean:
rm -rf $(BUILDDIR)/* $(TARGET)

0 comments on commit 81047bb

Please sign in to comment.