It would need to be done using a database.
to get started with dynamic discount codes see this thread:
to apply the discounts to a specific manufacturer, you would need to set up the products table to have a column for manufacturer, and set the eCart object to have a column for manufacturer as well, so that when a product is added to the cart, the manufacturer is added along with it.
Your discounts table would also need to have a column for the manufacturer. this column would need to be stored in a session variable so it could be used in the trigger for the coupon. For the sake of example, lets say the session is named "manufacturer"
to set the discount up, use the trigger "Number of items with a specific column value":
If the total number of items where "manufacturer" has a value of "$_SESSION['manufacturer']" is ">" a value of "0"
The calculation would depend on how the discount should be applied, but you would use the PromoAmount session variable
tying the discount to specific products is a little more difficult. do you want to be able to apply more than one discount to to a product? for example, should discount a be able to apply product a, c, d and discount b apply to product a, b, d. with product a and d being a member of both discounts, or will each product only be able to belong to one discount?
if each product can only apply to one discount, the you would need a discountID column in the products table. This column will store the discount associated to it.
you also need a discountID column in the cart Object and set the add to cart buttons to store this value in the cart.
when the lookup recordset is creating the session variables, store the couponID from the coupon table into another session.
from here the process is similar to manufacturers. use the "Number of items with a specific column value" trigger and use the couponID session for comparison.