lab 4 complete
This commit is contained in:
parent
2769a3a0ad
commit
69af73e315
12 changed files with 476 additions and 79 deletions
56
lab4/makefile
Normal file
56
lab4/makefile
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
# Compiler
|
||||
CXX = g++
|
||||
CXXFLAGS = -std=c++17 -Wall -Wextra -pedantic
|
||||
|
||||
# Targets
|
||||
TARGETS = TagRemover Sieve date_test toString_test string_cast_test
|
||||
|
||||
# Source files
|
||||
SRCS_TAGREMOVER = TagRemover.cc
|
||||
SRCS_SIEVE = Sieve.cc
|
||||
SRCS_DATE = date.cc
|
||||
SRCS_DATE_TEST = date_test.cc
|
||||
SRCS_TOSTRING_TEST = toString_test.cc date.cc
|
||||
SRCS_STRING_CAST_TEST = string_cast_test.cc date.cc
|
||||
|
||||
# Object files
|
||||
OBJS_TAGREMOVER = $(SRCS_TAGREMOVER:.cc=.o)
|
||||
OBJS_SIEVE = $(SRCS_SIEVE:.cc=.o)
|
||||
OBJS_DATE = $(SRCS_DATE:.cc=.o)
|
||||
OBJS_DATE_TEST = $(SRCS_DATE_TEST:.cc=.o)
|
||||
OBJS_TOSTRING_TEST = $(SRCS_TOSTRING_TEST:.cc=.o)
|
||||
OBJS_STRING_CAST_TEST = $(SRCS_STRING_CAST_TEST:.cc=.o)
|
||||
|
||||
# Default target
|
||||
all: $(TARGETS)
|
||||
|
||||
# Rule to build TagRemover
|
||||
TagRemover: $(OBJS_TAGREMOVER)
|
||||
$(CXX) $(CXXFLAGS) -o $@ $^
|
||||
|
||||
# Rule to build Sieve
|
||||
Sieve: $(OBJS_SIEVE)
|
||||
$(CXX) $(CXXFLAGS) -o $@ $^
|
||||
|
||||
# Rule to build date_test
|
||||
date_test: $(OBJS_DATE_TEST) $(OBJS_DATE)
|
||||
$(CXX) $(CXXFLAGS) -o $@ $^
|
||||
|
||||
# Rule to build toString_test
|
||||
toString_test: $(OBJS_TOSTRING_TEST)
|
||||
$(CXX) $(CXXFLAGS) -o $@ $^
|
||||
|
||||
# Rule to build string_cast_test
|
||||
string_cast_test: $(OBJS_STRING_CAST_TEST)
|
||||
$(CXX) $(CXXFLAGS) -o $@ $^
|
||||
|
||||
# Rule to compile source files into object files
|
||||
%.o: %.cc
|
||||
$(CXX) $(CXXFLAGS) -c $<
|
||||
|
||||
# Clean up build artifacts
|
||||
clean:
|
||||
rm -f $(OBJS_TAGREMOVER) $(OBJS_SIEVE) $(OBJS_DATE) $(OBJS_DATE_TEST) $(OBJS_TOSTRING_TEST) $(OBJS_STRING_CAST_TEST) $(TARGETS)
|
||||
|
||||
# Phony targets
|
||||
.PHONY: all clean
|
||||
Loading…
Add table
Add a link
Reference in a new issue