# Makefile for Test Generator CXX = g++ CXXFLAGS = -std=c++11 -Wall -O2 TARGET = testgen SRCDIR = src OBJDIR = obj # Source files SOURCES = $(SRCDIR)/main.cpp \ $(SRCDIR)/json_parser.cpp \ $(SRCDIR)/file_utils.cpp \ $(SRCDIR)/code_generator.cpp # Object files OBJECTS = $(OBJDIR)/main.o \ $(OBJDIR)/json_parser.o \ $(OBJDIR)/file_utils.o \ $(OBJDIR)/code_generator.o # Default target all: $(OBJDIR) $(TARGET) # Create object directory $(OBJDIR): mkdir -p $(OBJDIR) # Link executable $(TARGET): $(OBJECTS) $(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJECTS) # Compile source files $(OBJDIR)/main.o: $(SRCDIR)/main.cpp $(CXX) $(CXXFLAGS) -c $(SRCDIR)/main.cpp -o $(OBJDIR)/main.o $(OBJDIR)/json_parser.o: $(SRCDIR)/json_parser.cpp $(SRCDIR)/json_parser.h $(CXX) $(CXXFLAGS) -c $(SRCDIR)/json_parser.cpp -o $(OBJDIR)/json_parser.o $(OBJDIR)/file_utils.o: $(SRCDIR)/file_utils.cpp $(SRCDIR)/file_utils.h $(CXX) $(CXXFLAGS) -c $(SRCDIR)/file_utils.cpp -o $(OBJDIR)/file_utils.o $(OBJDIR)/code_generator.o: $(SRCDIR)/code_generator.cpp $(SRCDIR)/code_generator.h $(SRCDIR)/data_structures.h $(CXX) $(CXXFLAGS) -c $(SRCDIR)/code_generator.cpp -o $(OBJDIR)/code_generator.o # Clean build artifacts clean: rm -rf $(OBJDIR) $(TARGET) $(TARGET).exe # Install (optional) install: $(TARGET) cp $(TARGET) /usr/local/bin/ .PHONY: all clean install