Compile recursively