Files
methylphenidate/alarm-snoozer/Makefile

39 lines
669 B
Makefile
Raw Normal View History

2025-10-22 06:13:27 -04:00
# Project structure
SRCDIR = src
BUILDDIR = build
TARGET = bin/main
# Compiler and flags
CXX = g++
CXXFLAGS = -std=c++11 -Wall -Iinclude
LDFLAGS =
# Find all source files
SRCS = $(wildcard $(SRCDIR)/*.cpp)
# Generate object file names from source files
OBJS = $(patsubst $(SRCDIR)/%.cpp,$(BUILDDIR)/%.o,$(SRCS))
# Default target
all: $(TARGET)
# Link the program
$(TARGET): $(OBJS)
@mkdir -p $(@D)
$(CXX) $(LDFLAGS) -o $@ $^
# Compile source files into object files
$(BUILDDIR)/%.o: $(SRCDIR)/%.cpp
@mkdir -p $(@D)
$(CXX) $(CXXFLAGS) -c -o $@ $<
# Clean up
clean:
rm -rf $(BUILDDIR) bin
# Run the program
run: $(TARGET)
./$(TARGET)
.PHONY: all clean run