Hi, I just figure out what's going on.
I do NOT use bash shell with Tecmake in Windows. I use the regular cmd. And none of these errors occur here. Mkdir and echo works perfectly fine. BUT I use "make" from Cygwin. Cygwin starts a bash shell to execute any process. So it will not have an internal mkdir command, and its echo will work as expected. Don't know what happen during the tests I made using just mingw and GnuWin32 for the tools. But I remember that they work. Anyway I will have to review the Mingw+GnuWin32 support. About the dependencies, thanks for the link. It is an old problem that we are trying to find a good solution. Maybe it could point us a new direction. Best, Scuri > -----Original Message----- > From: Noam Postavsky [mailto:[email protected]] > Sent: terça-feira, 12 de junho de 2012 10:06 > To: IUP discussion list. > Subject: Re: [Iup-users] MingW Minimum Installation with tecmake to build > dllw4 problems > > On Mon, Jun 11, 2012 at 3:21 PM, Antonio Scuri <[email protected]> > wrote: > > The Bourne shell is not necessary. I run it here without one. Maybe > > is something related to the path. Let me check and I'll return to you. > > It's not strictly necessary if the build directories already exist and NO_DEPEND > is defined, because then problematic constructs are not used. > > Anywhere echo is called, single quotes are used. In cmd.exe, echo doesn't > unquote its argument so this > > @echo ''; echo 'Tecmake: System Info' > > actually does what this > > @echo "''; echo 'Tecmake: System Info'" > > would do in Bourne shell. That incompatibility is harmless, but the ones in > directory and dependency creation are not. > > if [ ! -d $@ ] ; then mkdir -p $@ ; fi > > Should be (requires Command Extension, enabled by default) > > if NOT EXIST $@ mkdir $(subst /,\,$@) > or > if NOT EXIST $@ $(MKDIR) -p $@ > > where MKDIR holds the path to mkdir.exe. The depend target is pretty tricky, > the following seems to work (requires installing which): > > @echo. > $(DEPEND) > @which gcc >NUL 2>&1 &\ > if ERRORLEVEL 1 (\ > echo. &\ > echo Tecmake: error, gcc not found. Dependencies can not be > built.&\ > echo Must set NO_DEPEND=Yes &\ > echo. &\ > exit 1 )\ > else (\ > echo Tecmake: Building Dependencies ... [can be slow] &\ > gcc $(DEPINCS) $(DEFINES) $(STDDEFS) $(DEPDEFS) -MM $(SOURCES) > | \ > sed -e "1,$$s/^\([^ ]*\)\.o/$$(OBJDIR)\/\1.$(OBJEXT)/" > $(DEPEND) > &\ > echo. >nul ) > > I had to switch around the if and else branches. Also, I noticed you check for gcc > but use g++, that doesn't make sense to me so I used gcc. It would be more > efficient to make the depencies during compilation, as described in http://mad- > scientist.net/make/autodep.html. > > ---------------------------------------------------------------------------- -- > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and threat > landscape has changed and how IT managers can respond. Discussions will > include endpoint security, mobile security and the latest in malware threats. > http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Iup-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/iup-users ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Iup-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/iup-users
