Updated structure so that searching and data structures can be added. Need to create common make rules because right now I redefine CC and CFLAGS in every bottom-level makefile which is unnecessary."