all: echo NODEBUG=$(NODEBUG) echo ADDED_CFLAGS=$(ADDED_CFLAGS) #### my $cmd = q|nmake /s NODEBUG=1 "ADDED_CFLAGS=/DCOST_EN_US /DPAYMENT_CREDIT_CARD"|; open(my $fr_nmake, '-|', "$cmd 2>&1") or die; print <$fr_nmake>; close($fr_nmake); #### >perl 655027.pl Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. NODEBUG=1 ADDED_CFLAGS=/DCOST_EN_US /DPAYMENT_CREDIT_CARD #### my @cmd = ('nmake', '/s', 'NODEBUG=1', 'ADDED_CFLAGS=/DCOST_EN_US /DPAYMENT_CREDIT_CARD'); my $cmd = join ' ', map quotemeta, @cmd; open(my $fr_nmake, '-|', "$cmd 2>&1") or die; print <$fr_nmake>; close($fr_nmake);