[guided]The point of this step is to prove that the local models constructed from different vector bundle charts do not conflict. Suppose we trivialize $E$ over $U$ and also over $V$. As in the exact construction, let $\Psi_U:q^{-1}(U)\to U\times GL_r(\mathbb C)$ and $\Psi_V:q^{-1}(V)\to V\times GL_r(\mathbb C)$ denote the frame charts induced by these two trivializations. The two vector bundle trivializations are related on $U \cap V$ by a smooth complex-linear change of fibre coordinates, so we define
\begin{align*}
g_{UV}:U \cap V \to GL_r(\mathbb C)
\end{align*}
through the identity
\begin{align*}
\Phi_U \circ \Phi_V^{-1}(p,z) = (p,g_{UV}(p)z).
\end{align*}
This definition is legitimate because $\Phi_U \circ \Phi_V^{-1}$ is a vector bundle isomorphism over $U \cap V$: it keeps the base point $p$ fixed and acts on the fibre $\mathbb C^r$ by a complex-linear isomorphism. Its smoothness as a bundle map implies that $p \mapsto g_{UV}(p)$ is a smooth map into $GL_r(\mathbb C)$. Indeed, if $e_j\in\mathbb C^r$ is the $j$-th standard basis vector and $g_{UV,ij}:U\cap V\to\mathbb C$ is the $(i,j)$ entry of $g_{UV}$, then $g_{UV,ij}(p)$ is obtained by applying the $i$-th coordinate projection to the smooth map $p\mapsto \operatorname{pr}_2(\Phi_U\circ\Phi_V^{-1}(p,e_j))$. Thus all matrix entries of $g_{UV}$ are smooth.
Now take a point $(p,A) \in (U \cap V) \times GL_r(\mathbb C)$. In the $V$-frame chart, this corresponds to the frame
\begin{align*}
u := \Phi_{V,p}^{-1} \circ A:\mathbb C^r \to E_p.
\end{align*}
To express the same frame in the $U$-frame chart, we apply $\Phi_{U,p}$ after $u$:
\begin{align*}
\Phi_{U,p} \circ u = \Phi_{U,p} \circ \Phi_{V,p}^{-1} \circ A.
\end{align*}
But $\Phi_{U,p} \circ \Phi_{V,p}^{-1}$ is exactly the matrix $g_{UV}(p)$, so
\begin{align*}
\Phi_{U,p} \circ u = g_{UV}(p)A.
\end{align*}
Thus the chart transition is
\begin{align*}
\Psi_U \circ \Psi_V^{-1}(p,A) = (p,g_{UV}(p)A).
\end{align*}
This formula is smooth because it is built from the smooth map $g_{UV}$ and the smooth multiplication operation on the Lie group $GL_r(\mathbb C)$. We then give $\operatorname{Fr}_{\mathbb C}(E)$ the topology and smooth structure transported from these local products. The transition maps are smooth diffeomorphisms, so this gives a smooth atlas. It remains to make explicit why the usual Hausdorff and second-countability requirements are satisfied. Since $M$ is second-countable, we can choose countably many trivializing open sets directly: take a countable basis $\mathcal B$ for $M$, and for each $B\in\mathcal B$ contained in some trivializing neighbourhood, choose one such neighbourhood $U_B$. These chosen neighbourhoods are countable. They cover $M$ because any point $p\in M$ lies in some trivializing neighbourhood $W$, and the basis property gives $B\in\mathcal B$ with $p\in B\subset W$. Each product $U\times GL_r(\mathbb C)$ has a countable coordinate basis because $U$ is an open subset of the second-countable manifold $M$ and $GL_r(\mathbb C)$ is a finite-dimensional Lie group. These product bases, transported by the corresponding maps $\Psi_U^{-1}$, form a countable basis for the frame bundle topology.
For the Hausdorff property, take two distinct frames. If their base points in $M$ are different, choose disjoint neighbourhoods of those base points in the Hausdorff manifold $M$ and pull them back under $q$. If their base point is the same point $p$, choose a vector bundle trivialization over a neighbourhood $U$ of $p$. In the chart $\Psi_U$, the two frames have the same first coordinate $p$ but distinct matrix coordinates in $GL_r(\mathbb C)$, and those matrix coordinates can be separated by disjoint coordinate neighbourhoods in the Hausdorff manifold $GL_r(\mathbb C)$. Transporting those product neighbourhoods back separates the two frames. Hence the resulting frame-bundle atlas gives a Hausdorff second-countable smooth manifold.[/guided]