How to construct a tensor product of two preadditive categories in pure categorical fashion? Let $\mathsf C$ and $\mathsf D$ be two preadditive categories (by an preadditive category I mean a category together with compatible abelian group structure on every hom-set). 
I thought of constructing a "tensor product" $\mathsf C\otimes\mathsf D$ such that $\text{ob}(\mathsf C\otimes\mathsf D)=\text{ob}(\mathsf C\times\mathsf D)$ and $\hom_{\mathsf C\otimes\mathsf D}((M,M'),(N,N'))=\hom_{\mathsf C}(M,N)\otimes\hom_{\mathsf D}(M',N')$. And I also thought of proving a universal property of $\mathsf C\otimes\mathsf D$: there exists a "bilinear" functor from $\mathsf C\times\mathsf D$ to $\mathsf C\otimes\mathsf D$ satisfying that every "bilinear" functor from $\mathsf C\times\mathsf D$ to another additive category can be factored through uniquely.
I think the above idea is very natural and I tried to acheive it using only the universal property of tensor product in $\mathsf{Ab}$. But all the proofs I ever found relies on the construction of tensor product of abelian groups. Does anyone know a pure category-theoretical construction and proof? Thanks in advance.
 A: Essentially what you want is stated in Kelly's Basic Concepts Of Enriched Category Theory. The tensor product $\mathcal{C} \otimes \mathcal{D}$ of categories enriched in a symmetric monoidal category $\mathcal{V}$ can be defined in the obvious way. As Kelly discusses (starting in the last paragraph of page 12 and going into page 13), a functor $\mathcal{C} \otimes \mathcal{D} \to \mathcal{E}$ is given by a function $T: \mathsf{Ob}\mathcal{C} \times \mathsf{Ob}\mathcal{D} \to \mathsf{Ob}\mathcal{E}$, and, for each $c \in \mathcal{C}$, $\mathcal{V}$-functors $T(c,-): \mathcal{D} \to \mathcal{E}$ and for each $d \in \mathcal{D}$, $\mathcal{V}$-functors $T(-,d): \mathcal{C} \to \mathcal{E}$ which agree with $T$ on objects and satisfy a compatibility condition (Kelly's diagram 1.21). As Kelly says, the verification is routine.
Now let $\mathcal{V}= \mathsf{Ab}$ be the cosmos of abelian groups. A functor of ordinary categories $T: \mathcal{C} \times \mathcal{D} \to \mathcal{E}$ is bilinear if and only if the functors $T(c,-)$ and $T(-,d)$ are linear, and the compatibility condition arising from the ordinary functor $T$ being a functor is equivalent to the compatibility condition for the enriched functor. So a bilinear functor gives rise to an enriched functor and conversely.
