--- imach/src/Makefile	2014/09/15 20:42:05	1.45
+++ imach/src/Makefile	2015/01/04 09:57:25	1.54
@@ -1,6 +1,7 @@
-VERSION=0.98nX
+VERSION=0.98p
 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
+#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
@@ -49,7 +54,8 @@ ifdef _macosx
 LFLAGS= -g -lm 
 CFLAGS= -g -DDEBUG 
 LFLAGSOPT= -O3 -lm 
-CFLAGSOPT= -O3 
+CFLAGSOPT= -O3
+CROSSCOMPILATION= -DCROSS=0
 UNIX2DOS= echo "Unix2dos " 
 DSYMUTIL= dsymutil
 STRIP= strip
@@ -123,13 +129,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 +186,13 @@ 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
+TAR= /sw/bin/gnutar
 UNIX2DOS= unix2dos
 SETUPCOMP= ~/bin/InnoSetup5Playonmac
 CP= cp
@@ -153,15 +201,18 @@ endif
 
 ifdef _linux
 #CFLAGS= -g -DUNIX -DDEBUGHESS
-CFLAGS= -g -DUNIX -DLINUX
+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
 UNIX2DOS= unix2dos
 SETUPCOMP= wine "C:////Program Files////Inno Setup 4////Compil32.exe"
 BINVERSION=LINUXnative
+CP= cp
 endif
 
 SED= sed
@@ -236,7 +287,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 +298,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
@@ -272,9 +335,7 @@ ifdef _macosx
 endif
 
 imach.o : imach.c 
-	$(CC) $(CFLAGS) -c imach.c
-
-# $(CC) $(CFLAGS) -DPOWELL -c imach.c
+	 $(CC) $(CFLAGS) -DPOWELL -c imach.c
 
 # http://msdn.microsoft.com/en-us/library/abx4dbyh%28v=vs.100%29.aspx
 imachcl: imach.c
@@ -292,33 +353,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)