OBJS=filesys.o processes.o options.o exec.o PROGS=test-c++script c++script OPTS=-g -Wall -O2 -fconcepts-diagnostics-depth=4 -std=c++23 c++script: c++script.o libc++script.a g++ $(OPTS) c++script.o libc++script.a -o c++script -lstdc++ c++script.o: c++script.cc c++script.h g++ $(OPTS) -c c++script.cc -o c++script.o test-c++script: test-c++script.o libc++script.a g++ $(OPTS) test-c++script.o libc++script.a -o test-c++script -lstdc++ test-c++script.o: test-c++script.cc c++script.h g++ $(OPTS) -c test-c++script.cc -o test-c++script.o libc++script.a: $(OBJS) ar cr libc++script.a $(OBJS) exec.o: exec.cc c++script.h g++ $(OPTS) -c exec.cc -o exec.o exec: exec.cc g++ $(OPTS) -DTEST exec.cc libc++script.a -o exec -lstdc++ filesys.o: filesys.cc c++script.h g++ $(OPTS) -c filesys.cc -o filesys.o processes.o: processes.cc c++script.h g++ $(OPTS) -c processes.cc -o processes.o options.o: options.cc c++script.h g++ $(OPTS) -c options.cc -o options.o clean: rm -f $(PROGS) exec *.o libc++script.a