--- imach/src/Makefile	2014/09/15 20:42:05	1.45
+++ imach/src/Makefile	2015/03/10 20:35:56	1.56
@@ -1,6 +1,7 @@
-VERSION=0.98nX
-COPYRIGHT=Copyright (C)  2002-2015 INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121)
-IMACHSETUPVERSION=ilc64
+VERSION=0.98q0
+COPYRIGHT=Copyright (C)  2002-2015 INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121, Intel Software 2015)
+#IMACHSETUPVERSION=ilc64
+IMACHSETUPVERSION=mvc
 
 #       Linux
 # make _linux=1 imachopt
@@ -10,14 +11,18 @@ IMACHSETUPVERSION=ilc64
 # make _linux64onosx=1 imachopt
 
 #       OS/X
+# make _intel64onosx=1 imachopt
+# make _intel32onosx=1 imachopt
+# make _intelUNBonosx=1 imachdmg # Not implemented (not useful)
 # make _macosx=1 imach
+# make _macosx=1 imachopt
 # make _macosx=1 imachdmg
 #  valgrind  --dsymutil=yes --leak-check=full --show-leak-kinds=all --track-origins=yes ~/Documents/imachcvs/imach/src/imach-1.129cvsmac radlc-1.129.imach
 
 #        Windows
 # make _windowsonosx=1 imachILC64-setup (touch setup.iss.in) #binary should have been compiled on Windows with cl
 # make _windowsonosx=1 imachMVC-setup (touch setup.iss.in) #binary should have been compiled on Windows with cl
-# make imachMVC-noreg-setup
+# make _windowsonosx=1 imachMVC-noreg-setup
 #
 #        Windows cross-compiled mw64
 # make _mw64onsox=1 imachcyg-setup
@@ -37,7 +42,8 @@ IMACHSETUPVERSION=ilc64
 ##SETUPCOMP=  "C:\Program Files\Inno Setup 3\Compil32.exe"
 #TESTFILE=$$HOME/Documents/Recherches/REVES/SAITO/Tokyo2014/adlc-test-mac/adecode-1.142c.imach
 #TESTFILE=$(HOME)/Documents/Recherches/REVES/carol/carol-june2014/educadlmwt24.imach
-TESTFILE=$(HOME)/Documents/Recherches/REVES/Biaspar/biaspar-wopowell.imach
+#TESTFILE=$(HOME)/Documents/Recherches/REVES/Biaspar/biaspar-wopowell.imach
+TESTFILE=$(HOME)/Documents/Recherches/REVES/Biaspar/rbiaspar-098p.imach
 #TESTFILE=$(HOME)/Documents/Recherches/REVES/SAITO/Tokyo2014/adlc-test-mac/adecode-1.142c.imach
 #TESTFILE=$(HOME)/Documents/Recherches/REVES/SAITO/Tokyo2014/adlc_test_magei4/radlc_often.imach
 #CC= gcc -v
@@ -50,6 +56,7 @@ LFLAGS= -g -lm
 CFLAGS= -g -DDEBUG 
 LFLAGSOPT= -O3 -lm 
 CFLAGSOPT= -O3 
+CROSSCOMPILATION= -DCROSS=0
 UNIX2DOS= echo "Unix2dos " 
 DSYMUTIL= dsymutil
 STRIP= strip
@@ -85,6 +92,7 @@ LFLAGS= -g
 CFLAGS= -g
 LFLAGSOPT= -O3 -lm
 CFLAGSOPT= -O3
+CROSSCOMPILATION= -DCROSS=1
 CP= cp
 UNIX2DOS= unix2dos
 SETUPCOMP= wine "C:////Program Files////Inno Setup 4////Compil32.exe"
@@ -100,6 +108,7 @@ LFLAGS= -g
 CFLAGS= -g
 LFLAGSOPT= -O3 -s
 CFLAGSOPT= -O3
+CROSSCOMPILATION= -DCROSS=1
 UNIX2DOS= unix2dos
 SETUPCOMP= ~/bin/InnoSetup5Playonmac
 CP= cp
@@ -113,6 +122,7 @@ LFLAGS= -g
 CFLAGS= -g
 LFLAGSOPT= -O3 -lm -s
 CFLAGSOPT= -O3
+CROSSCOMPILATION= -DCROSS=1
 UNIX2DOS= unix2dos
 SETUPCOMP= ~/bin/InnoSetup5Playonmac
 CP= cp
@@ -123,13 +133,54 @@ ifdef _windowscl
 rem "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvas32.bat"
 endif
 
+# make _intel64onosx=1 imachopt
+#source /opt/intel/bin/iccvars.sh intel64
+ifdef _intel64onosx
+GCC=/opt/intel/bin/icc
+CFLAGS= -m64 -g -std=c99
+LFLAGS= -g -m64
+#CFLAGSOPT= -O3 -m64 -g -std=c99 -no-prec-div idem
+#CFLAGSOPT= -O3 -m64 -g -std=c99 -xSSSE3_ATOM 402
+CFLAGSOPT= -O3 -m64 -g -std=c99
+CROSSCOMPILATION= -DCROSS=0
+IGNORE :=$(shell bash -c "source /opt/intel/bin/iccvars.sh intel64; env | sed 's/=/:=/' | sed 's/^/export /' > makeenv")
+include makeenv
+#lipo -create -arch i386 HelloWorld_32 -arch x86_64 HelloWorld_64 -output HelloWorld
+LFLAGSOPT= -O3 -m64
+UNIX2DOS= unix2dos
+SETUPCOMP= ~/bin/InnoSetup5Playonmac
+CP= cp
+BINVERSION=osx-intel-x86-64-bin
+#imach_64$(VERSION)
+#
+endif
+
+ifdef _intel32onosx
+GCC=/opt/intel/bin/icc
+CFLAGS= -m32 -g -std=c99
+LFLAGS= -g -m32
+CFLAGSOPT= -O3 -m32 -g -std=c99
+CROSSCOMPILATION= -DCROSS=0
+IGNORE :=$(shell bash -c "source /opt/intel/bin/iccvars.sh ia32; env | sed 's/=/:=/' | sed 's/^/export /' > makeenv")
+include makeenv
+#lipo -create -arch i386 HelloWorld_32 -arch x86_64 HelloWorld_64 -output HelloWorld
+#lipo -create -arch i386 imach_32$(VERSION) -arch x86_64 imach_64$(VERSION) -output imach$(VERSION)
+LFLAGSOPT= -O3 -m32
+UNIX2DOS= unix2dos
+SETUPCOMP= ~/bin/InnoSetup5Playonmac
+CP= cp
+BINVERSION=osx-intel-ia32-bin
+endif
+
 ifdef _linux64onosx
-GCC=/usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-gcc
-STRIP=/usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-strip
+GCC=/usr/localold/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-gcc
+STRIP=/usr/localold/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-strip
 LFLAGS= -g
 CFLAGS= -g
+CROSSCOMPILATION= -DCROSS=1
 LFLAGSOPT= -O3 -lm -s
 CFLAGSOPT= -O3
+TAR= /sw/bin/gnutar
 UNIX2DOS= unix2dos
 SETUPCOMP= ~/bin/InnoSetup5Playonmac
 CP= cp
@@ -139,12 +190,14 @@ endif
 ifdef _linux32onosx
 #GCC=/usr/local/i386-mingw32-4.3.0/bin/i386-mingw32-gcc
 #GCC=/usr/local/cross-tools/bin/i686-w64-mingw32-gcc
-GCC=/usr/local/gcc-4.8.1-for-linux32/bin/i586-pc-linux-gcc
-STRIP=/usr/local/gcc-4.8.1-for-linux32/bin/i586-pc-linux-strip
+GCC=/usr/localold/gcc-4.8.1-for-linux32/bin/i586-pc-linux-gcc
+STRIP=/usr/localold/gcc-4.8.1-for-linux32/bin/i586-pc-linux-strip
 LFLAGS= -g
 CFLAGS= -g
 LFLAGSOPT= -O3 -s -lm
 CFLAGSOPT= -O3
+CROSSCOMPILATION= -DCROSS=1
+TAR= /sw/bin/gnutar
 UNIX2DOS= unix2dos
 SETUPCOMP= ~/bin/InnoSetup5Playonmac
 CP= cp
@@ -153,15 +206,20 @@ endif
 
 ifdef _linux
 #CFLAGS= -g -DUNIX -DDEBUGHESS
-CFLAGS= -g -DUNIX -DLINUX
+#CFLAGS= -g -DDEBUG -DFIXMNBRAK
+CFLAGS= -g -DDEBUG 
 LFLAGS= -g -lm
 IGSL= -I/usr/include/gsl
 LGSL= -lgsl -lgslcblas
-CFLAGSOPT= -O3 -DUNIX -DLINUX
-LFLAGSOPT= -O3 -lm -s
+INLOPT= -I/usr/local/include
+LNLOPT= -lm -L/usr/local/lib -lnlopt
+CFLAGSOPT= -O3 -g
+LFLAGSOPT= -O3 -g -lm
+CROSSCOMPILATION= -DCROSS=0
 UNIX2DOS= unix2dos
 SETUPCOMP= wine "C:////Program Files////Inno Setup 4////Compil32.exe"
 BINVERSION=LINUXnative
+CP= cp
 endif
 
 SED= sed
@@ -236,7 +294,7 @@ imachcyg-noreg-setup: imachcygopt.exe no
 	cp Output/$(TMPNOREGSETUPEXE) imachcyg-noreg-setup
 
 imachILC64-setup: IMaCh-ilc64.exe setup.iss
-	touch setup.iss.in
+	pwd
 	$(CP) IMaCh-ilc64.exe imach.exe
 	$(SETUPCOMP) /cc setup.iss
 	$(CP) Output/$(TMPSETUPEXE) imachILC64-setup
@@ -247,6 +305,18 @@ imachILC64-noreg-setup: IMaCh-ilc64.exe
 	$(SETUPCOMP) /cc $(TMPNOREGSETUPSCRIPT)
 	$(CP) Output/$(TMPSETUPEXE) imachILC64-noreg-setup
 
+imachILC32-setup: IMaCh-ilc32-XP.exe setup.iss
+	touch setup.iss.in
+	$(CP) IMaCh-ilc32.exe imach.exe
+	$(SETUPCOMP) /cc setup.iss
+	$(CP) Output/$(TMPSETUPEXE) imachILC32-setup
+
+imachILC32-noreg-setup: IMaCh-ilc32.exe noreg-setup.iss
+	touch setup.iss.in
+	$(CP) IMaCh-ilc32.exe imach.exe
+	$(SETUPCOMP) /cc $(TMPNOREGSETUPSCRIPT)
+	$(CP) Output/$(TMPSETUPEXE) imachILC32-noreg-setup
+
 imachMVC-setup: imachMVC.exe setup.iss
 	touch setup.iss.in
 	$(CP) imachMVC.exe imach.exe
@@ -265,16 +335,25 @@ simach : simach.o
 simach.o : simach.c 
 	$(CC) $(CFLAGS) -DGSL -c simach.c
 
-imach : imach.o 
+imachtest: imachtest.o 
+	$(CC) $(LFLAGS) -o imachtest imachtest.o
+ifdef _macosx
+	$(DSYMUTIL) imachtest
+endif
+
+imach: imach.o 
 	$(CC) $(LFLAGS) -o imach imach.o
 ifdef _macosx
 	$(DSYMUTIL) imach
 endif
 
 imach.o : imach.c 
-	$(CC) $(CFLAGS) -c imach.c
+	 $(CC) $(CFLAGS) $(CROSSCOMPILATION) -DDEBUGBRENT -c imach.c
+
+imachtest.o : imach.c 
+	 $(CC) $(CFLAGS) $(CROSSCOMPILATION) -DPOWELLORIGINAL -DNRCORIGINAL -DINFINITYORIGINAL -DDEBUGBRENT -o imachtest.o -c imach.c
 
-# $(CC) $(CFLAGS) -DPOWELL -c imach.c
+#	 $(CC) $(CFLAGS) $(CROSSCOMPILATION)  -DFIXMNBRAK -o imachtest.o -c imach.c
 
 # http://msdn.microsoft.com/en-us/library/abx4dbyh%28v=vs.100%29.aspx
 imachcl: imach.c
@@ -292,33 +371,48 @@ imachsimplified.o : imachsimplified.c
 	$(CC) $(CFLAGSOPT) -DPOWELL -c imachsimplified.c
 
 imachgsl : imachgsl.o 
-	$(CC) $(LFLAGS) $(LGSL) -o imachgsl imach.o
+	$(CC) -o imachgsl imach.o  $(LFLAGS) $(LGSL) 
 imachgsl.o : imach.c 
 	$(CC) $(CFLAGS) -DGSL $(IGSL) -c imach.c
 
+imachNEWUOAopt : imachNEWUOAopt.o 
+	$(CC) -o imachNEWUOAopt  imachNEWUOAopt.o  $(LFLAGS) -g $(LNLOPT) 
+imachNEWUOAopt.o : imach.c 
+	$(CC) $(CFLAGS) -g -DNLOPT $(INLOPT) -DNEWUOA -o  imachNEWUOAopt.o -c imach.c
+
+imachBOBYQAopt : imachBOBYQAopt.o 
+	$(CC) -o imachBOBYQAopt imachBOBYQAopt.o  $(LFLAGS) $(LNLOPT) 
+imachBOBYQAopt.o : imach.c 
+	$(CC) $(CFLAGS) -DNLOPT $(INLOPT) -DBOBYQA -o imachBOBYQAopt.o -c imach.c
+
+
 imachopt : imachopt.o 
 	$(CC) $(LFLAGSOPT) -o imachopt imachopt.o
 	ln -f imachopt imach
+	$(CP) imachopt Output/imachopt$(VERSION)-$(BINVERSION)
+	$(CP) -f imach ../bin
+ifdef _intel64onosx
+	$(CP) imachopt Output/imachopt$(VERSION)-$(BINVERSION)
+endif
 ifdef _macosx
 	$(STRIP) imach
-	cp imach ../bin
 endif
 ifdef _linux32onosx
-	$(CP) imachopt Output/imachopt$(VERSION)-$(BINVERSION)
-	cp -f imach ../bin
-	(cd .. && gnutar jcvf src/Output/imach-Linux-$(VERSION)-$(BINVERSION).tar.bz2 bin html/doc/biaspar.imach html/doc/data1.txt)
+	(cd .. && $(TAR) jcvf src/Output/imach-Linux-$(VERSION)-$(BINVERSION).tar.bz2 bin html/doc/biaspar.imach html/doc/data1.txt)
 endif
 ifdef _linux64onosx
-	$(CP) imachopt Output/imachopt$(VERSION)-$(BINVERSION)
-	cp -f imach ../bin
-	(cd .. && gnutar jcvf src/Output/imach-Linux-$(VERSION)-$(BINVERSION).tar.bz2 bin html/doc/biaspar.imach html/doc/data1.txt)
+	(cd .. && $(TAR) jcvf src/Output/imach-Linux-$(VERSION)-$(BINVERSION).tar.bz2 bin html/doc/biaspar.imach html/doc/data1.txt)
 endif
 
-imachopt.o : imach.c 
-	$(CC) $(CFLAGSOPT) -o imachopt.o -c imach.c
-
+imachopt.o : imach.c
+	$(CC) $(CFLAGSOPT) $(CROSSCOMPILATION) -o imachopt.o -c imach.c
 #	$(CC) $(CFLAGSOPT) -DPOWELL -o imachopt.o -c imach.c
 
+imachUB : imach32 imach64
+	lipo -create -arch i386 imach_32 -arch x86_64 imach_64 -output imach$(VERSION)
+
+
+#imachdmg : imachopt.o create-dmg applet IMaChInfo.plist.in IMaChPkgInfo.in IMaCh.icns main.scpt.in IMaCh-ecrandemarrage.rsrc TXT.rtf
 imachdmg : imachopt.o create-dmg applet IMaChInfo.plist.in IMaChPkgInfo.in IMaCh.icns main.scpt.in IMaCh-ecrandemarrage.rsrc TXT.rtf
 	$(CC) $(LFLAGSOPT) -o imach imachopt.o
 	#hdiutil detach /Volumes/IMaCh\ $(VERSION)