Pattern formation in generalized Turing systems