app: main.o dynamic_array.o types.o gcc -g main.o dynamic_array.o types.o -o app test: tests.o dynamic_array.o types.o gcc -g tests.o dynamic_array.o types.o -o test main.o: main.c gcc main.c -c tests.o : tests.c gcc tests.c -c dynamic_array.o: dynamic_array.c dynamic_array.h gcc dynamic_array.c -c types.o: types.h types.c type_info.h gcc types.c -c clean: rm -f *.o