--- imach/src/Makefile 2018/04/20 17:18:27 1.82 +++ imach/src/Makefile 2022/09/11 07:59:43 1.91 @@ -1,5 +1,5 @@ #Version has to be set in ../CMakeLists.txt too. -#VERSION=0.98r2 +#VERSION=0.98r6 #VERSION=$(shell echo `grep IMACH_VERSION__ version.h | echo 'titi'`) VERSION=$(shell echo `grep IMACH_VERSION__ version.h | awk 'BEGIN { FS = "[ \t\n\"]+" } { print $$3 }'`) OSTYPE = $(shell echo $$OSTYPE) @@ -7,7 +7,7 @@ OSTYPE = $(shell echo $$OSTYPE) DRIVEG=f: #DIRG is the corresponding build directory for Virtual Windows DIRG=\imach\cvs\imach\build -COPYRIGHT=Copyright (C) 2002-2016 INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121) - Intel Software 2016-18 +COPYRIGHT=Copyright (C) 2002-2022 INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121) - Intel Software 2016-19 IMACHSETUPVERSION=icl # This is for Windows only #IMACHSETUPVERSION=mvc @@ -29,8 +29,23 @@ IMACHSETUPVERSION=icl # make _macosx=1 imachopt # 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 +# Windows should be started on VirtualBox and both 32 and 64 commands should be made +# xlcem is year month delay, doing the command make on the username and not on root +# on emacs shell: +# sudo xlcem make _windowsonosx=1 imachICL64-setup +# ls -l ../build/icl64/Release/ +# sudo xlcem make _windowsonosx=1 imachICL32-setup +# ls -l ../build/icl32/Release/ +# and then F: should be mounted on ~/Documents +# For an unknown reason, the exe file on /Documents/imach/cvs/imach/build/icl64/Release~or icl32 are not recognized by make which deletes +# previous work and imachICL-set +# has to be done manually: SETUPCOMP=~/bin/InnoSetup5Playonmac +# and $SETUPCOMP /cc setup.iss +# or on Emacs make _windowsonosx=1 imachICL-set (and not imachICL-setup) +# sudo date -u 082109552022 # make _windowsonosx=1 imachICL-setup (touch setup.iss.in) #binary should have been compiled on Windows with Intel +# make _windowsonosx=1 imachICL64-setup (touch setup.iss.in) #binary should have been compiled on Windows with Intel +# make _windowsonosx=1 imachICL32-setup (touch setup.iss.in) #binary should have been compiled on Windows with Intel # make _windowsonosx=1 imachMVC-setup (touch setup.iss.in) #binary should have been compiled on Windows with cl # make _windowsonosx=1 imachMVC-noreg-setup # @@ -65,21 +80,35 @@ IMACHSETUPVERSION=icl #TESTFILE=$(HOME)/Documents/Recherches/REVES/Biaspar/biaspar-0.98r-powellf1f3linmnb-zeroes.imach #TESTFILE=$(HOME)/Documents/Recherches/REVES/Yao/Yao-19-jan-2016/r2V4V3V5.imach #TESTFILE=$(HOME)/Documents/Recherches/REVES/Yao/Yao-19-jan-2016/r2b4V4V3V5.imach -TESTFILE=$(HOME)/Documents/Recherches/REVES/Yao/Yao-19-jan-2016/Vn1b.imach +#TESTFILE=$(HOME)/Documents/Recherches/REVES/Yao/Yao-19-jan-2016/Vn1b.imach +#TESTFILE=$(HOME)/Documents/Recherches/REVES/SAITO/Saito-PAA-2018/rrLvngArrgJapan-two-1b.imach +#TESTFILE=$(HOME)/Documents/Recherches/HRS/RAND_HRS/imachb.imach +#TESTFILE=$(HOME)/Documents/Recherches/HRS/RAND_HRS/imachb-r18.imach +TESTFILE=$(HOME)/Documents/Recherches/REVES/Zachary/Zach-2022/Feinuo_Sun/feinuo-pb2022/para3_testNB.imach +#TESTFILE=$(HOME)/home/brouard/Documents/Recherches/REVES/Zachary/Zach-2022/Feinuo_Sun/feinuo-pb2022/rrrpara3_testNB30b.imach +# Two testfiles which should give similar results with V1=1 whatever V2 and V3. +#TESTFILE=$(HOME)/Documents/Recherches/REVES/Zachary/Zach-2022/Feinuo_Sun/feinuo-pb2022/female_sample/para_femaleNBV2V3sexW0-ter.imach +TESTFILE=$(HOME)/Documents/Recherches/REVES/Zachary/Zach-2022/Feinuo_Sun/feinuo-pb2022/rrpara3_testNB30sexW0-ter.htm #TESTFILE=$(HOME)/Documents/Recherches/REVES/Yao/Yao-19-jan-2016/rrrV4V3V5-suite6.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 CC=$(GCC) +CCOPT=$(GCCOPT) GCC= gcc +GCCOPT= gcc ifdef _macosx +GCC= gcc-11 +GCCOPT= gcc # Mac OS/X version LFLAGS= -g -lm #CFLAGS= -g -DDEBUG CFLAGS= -g -LFLAGSOPT= -O3 -lm +LFLAGSOPT= -O3 -lm CFLAGSOPT= -O3 +# LFLAGSOPT= -O2 -lm # seems to be less effective than O3 +# CFLAGSOPT= -O2 CP= cp CROSSCOMPILATION= -DCROSS=0 UNIX2DOS= echo "Unix2dos " @@ -327,9 +356,12 @@ imachICL-build: imach.c # /Users/nbrouard/Documents/imach/imach-gui/build/icl64/Release/imach.exe # both 32 and 64 executables should have been built on Windows with Intel compiler. -imachICL-setup: ../build/icl64/Release/IMaCh-$(VERSION).exe ../build/icl32/Release/IMaCh-$(VERSION).exe setup.iss ../distributions/windows/mybuildicl64.bat ../distributions/windows/mybuildicl32.bat setup.iss +imachICL-set: ../build/icl64/Release/imach-$(VERSION).exe ../build/icl32/Release/imach-$(VERSION).exe setup.iss pwd touch setup.iss.in + echo SETUPCOMP=$(SETUPCOMP) + echo STRIP= $(STRIP) + echo BINVERSION= $(BINVERSION) $(SETUPCOMP) /cc setup.iss $(CP) Output/$(TMPSETUPEXE) imachICL-setup @@ -365,6 +397,10 @@ imachICL64-noreg-setup: IMaCh-icl64-$(VE cd ../build/icl32 VBoxManage --nologo guestcontrol "Windows7-64" run --exe "C:\Windows\System32\cmd.exe" \ --username brouard --verbose --wait-stdout -- "C:\Windows\SysWOW64\cmd.exe" "/c" "$(DRIVEG)$(DIRG)\icl32\mybuildicl32.bat" "$(VERSION)" "$(DRIVEG)" "$(DIRG)" +# VBoxManage startvm "Windows7-64" --type headless +# VBoxManage list runningvms +# sudo xlcem VBoxManage --nologo guestcontrol "Windows7-64" run --exe "C:\Windows\System32\cmd.exe" \ +# --username brouard --verbose --wait-stdout -- "C:\Windows\SysWOW64\cmd.exe" "/c" "$(DRIVEG)$(DIRG)\icl32\mybuildicl32.bat" "$(VERSION)" "$(DRIVEG)" "$(DIRG)" #VBoxManage --nologo guestcontrol "Windows7-64" run --exe "C:\Windows\SysWOW64\cmd.exe" \ # --username brouard --verbose --wait-stdout -- "/c" "$(DRIVEG)$(DIRG)\icl32\mybuildicl32.bat" "$(VERSION)" "$(DRIVEG)" "$(DIRG)" @@ -386,7 +422,7 @@ imachICL64-noreg-setup: IMaCh-icl64-$(VE imachICL64-setup: ../build/icl64/Release/IMaCh-$(VERSION).exe setup.iss mybuildicl64.bat -imachICL32-setup: ../build/icl32/Release/IMaCh-$(VERSION).exe setup.iss mybuildicl32.bat +imachICL32-setup: ../build/icl32/Release/IMaCh-$(VERSION).exe setup.iss ../distributions/windows/mybuildicl32.bat imachVS32-setup: ../build/vs32/Release/IMaCh-$(VERSION).exe setup.iss mybuildvs32.bat @@ -421,7 +457,7 @@ ifdef _macosx endif imach: imach.o - $(CC) $(LFLAGS) -o imach imach.o + $(CC) -o imach $(LFLAGS) imach.o ifdef _macosx $(DSYMUTIL) imach endif @@ -608,9 +644,11 @@ imachBOBYQAopt : imachBOBYQAopt.o imachBOBYQAopt.o : imach.c $(CC) $(CFLAGS) -DNLOPT $(INLOPT) -DBOBYQA -o imachBOBYQAopt.o -c imach.c +# imachback : imachback.o +# $(CC) $(LFLAGSOPT) -o imachback imachback.o imachopt : imachopt.o - $(CC) $(LFLAGSOPT) -o imachopt imachopt.o + $(CCOPT) $(LFLAGSOPT) -o imachopt imachopt.o ln -f imachopt imach $(CP) imachopt Output/imachopt$(VERSION)-$(BINVERSION) $(CP) -f imach ../bin @@ -619,6 +657,7 @@ ifdef _intel64onosx endif ifdef _macosx $(STRIP) imach + $(STRIP) imachopt endif ifdef _linux32onosx (cd .. && $(TAR) jcvf src/Output/imach-Linux-$(VERSION)-$(BINVERSION).tar.bz2 bin html/doc/biaspar.imach html/doc/data1.txt) @@ -627,8 +666,17 @@ ifdef _linux64onosx (cd .. && $(TAR) jcvf src/Output/imach-Linux-$(VERSION)-$(BINVERSION).tar.bz2 bin html/doc/biaspar.imach html/doc/data1.txt) endif +imachback: imachback.o + $(CC) $(LFLAGS) -DBACKCASTWO -o imachback imachback.o +ifdef _macosx + $(DSYMUTIL) imachback +endif + +imachback.o : imachback.c version.h + $(CC) $(CFLAGS) $(CROSSCOMPILATION) -c $< + imachopt.o : imach.c version.h - $(CC) $(CFLAGSOPT) $(CROSSCOMPILATION) -o imachopt.o -c imach.c + $(CCOPT) $(CFLAGSOPT) $(CROSSCOMPILATION) -o imachopt.o -c imach.c # $(CC) $(CFLAGSOPT) -DPOWELL -o imachopt.o -c imach.c imachUB : imach32 imach64 @@ -641,12 +689,22 @@ imachrpm : imachopt.o cmake ../..;\ cmake --build . ; \ echo $(OSTYPE);\ - cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -D CPACK_RPM_SPEC_INSTALL_POST="/bin/true" -G RPM;\ + cpack --debug --verbose -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM;\ + cp imach-$(VERSION)-*.rpm ../../src/Output/ ;) + +imachsrcrpm : imachopt.o + pwd + (cd ../build && rm -r gnulinux && mkdir gnulinux && cd gnulinux ;\ + pwd ;\ + cmake ../..;\ + cmake --build . ; \ + echo $(OSTYPE);\ + cpack --debug --verbose -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM --config ./CPackSourceConfig.cmake;\ cp imach-$(VERSION)-*.rpm ../../src/Output/ ;) #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) +# #hdiutil detach /Volumes/IMaCh\ $(VERSION) # cp ../../distributions/osx/gnuplot_bin/gnuplot_2_6_5_OSX imach$(VERSION).app/Contents/Resources/bin/gnuplot;\ imachdmg : imachopt.o ../distributions/osx/create-dmg ../distributions/osx/createdmg4.sh ../distributions/osx/IMaChInfo.plist.in ../distributions/osx/IMaChPkgInfo.in ../distributions/osx/IMaCh.icns ../distributions/osx/TXT.rtf @@ -656,17 +714,21 @@ imachdmg : imachopt.o ../distributions/o cmake ../..;\ cmake --build . ; \ echo $(OSTYPE);\ + echo $(VERSION);\ rm -rf imach$(VERSION).app;\ mkdir -p imach$(VERSION).app;\ mkdir -p imach$(VERSION).app/Contents;\ mkdir -p imach$(VERSION).app/Contents/MacOS;\ - cp ../../distributions/osx/imach imach$(VERSION).app/Contents/MacOS;\ mkdir -p imach$(VERSION).app/Contents/Resources;\ mkdir -p imach$(VERSION).app/Contents/Resources/Scripts;\ mkdir -p imach$(VERSION).app/Contents/Resources/bin;\ mkdir -p imach$(VERSION).app/Contents/Resources/lib;\ mkdir -p imach$(VERSION).app/Contents/Resources/doc;\ + mkdir -p imach$(VERSION).app/Contents/Resources/tests;\ + mkdir -p imach$(VERSION).app/Contents/Resources/tests/data;\ + cp ../../distributions/osx/imach.sh imach$(VERSION).app/Contents/MacOS;\ cp IMaCh-$(VERSION) imach$(VERSION).app/Contents/Resources/bin/imach;\ + cp ../../distributions/osx/imach-run.sh imach$(VERSION).app/Contents/Resources/bin;\ cp ../../distributions/osx/gnuplot_bin/bin/gnuplot imach$(VERSION).app/Contents/Resources/bin/gnuplot;\ cp ../../distributions/osx/gnuplot_bin/lib/* imach$(VERSION).app/Contents/Resources/lib;\ mkdir -p imach$(VERSION).app/Contents/Resources/description.rtfd;\ @@ -678,6 +740,11 @@ imachdmg : imachopt.o ../distributions/o cp ../../html/doc/biaspar.log imach$(VERSION).app/Contents/Resources/doc ;\ cp ../../html/doc/biaspar.imach imach$(VERSION).app/Contents/Resources/doc ;\ cp ../../src/README.txt imach$(VERSION).app/Contents/Resources/doc ;\ + cp ../../tests/testV1V2.imach imach$(VERSION).app/Contents/Resources/tests ;\ + cp ../../tests/rtestV1V2.imach imach$(VERSION).app/Contents/Resources/tests ;\ + cp ../../tests/testV2.imach imach$(VERSION).app/Contents/Resources/tests ;\ + cp ../../tests/rtestV2.imach imach$(VERSION).app/Contents/Resources/tests ;\ + cp ../../tests/data/data2.txt imach$(VERSION).app/Contents/Resources/tests/data ;\ rm -f imach$(VERSION).dmg ;\ pwd ;\ cp ../../distributions/osx/createdmg4.sh . ;\ @@ -698,10 +765,32 @@ upload: # rsync -v Output/imach0.98r7.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download # rsync -v Output/imach-0.99r9-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download # rsync -v Output/imach0.99r9.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download - rsync -v Output/imach-0.99r16-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download - rsync -v Output/imach0.99r16.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r19-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach0.99r19.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r21-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach0.99r21.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r22-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach0.99r22.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r23-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach0.99r23.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r24-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach0.99r24.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r24-1.x86_64.rpm brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach0.99r25.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r25-1.x86_64.rpm brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r25-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach0.99r27.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v brouard@brouard.name:~/Documents/imach/cvs/imach/build/gnulinux/imach-0.99r33-1.x86_64.rpm Output/ +# rsync -v Output/imach-0.99r33-1.x86_64.rpm brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r33-1.x86_64.rpm brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach0.99r26.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r26-1.x86_64.rpm brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r26-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download +# rsync -v Output/imach-0.99r19-1.x86_64.rpm brouard@henry.ined.fr:/home/euroreves/html/imach/Download # rsync -v Output/imach0.99r12-1.x86_64.rpm brouard@henry.ined.fr:/home/euroreves/html/imach/Download # rsync -v Output/* brouard@henry.ined.fr:/home/euroreves/html/imach/Download + rsync -v Output/imach-0.99r36-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download + rsync -v Output/imach0.99r36.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download imachcyg : imachcyg.o $(CC) $(LFLAGS) -o imach imachcyg.o @@ -726,6 +815,11 @@ valgrindtototest: valgrindtoto valgrind-test : imach $(TESTFILE) valgrind --dsymutil=yes --leak-check=full --show-leak-kinds=all --track-origins=yes ./imach $(TESTFILE) # valgrind --dsymutil=yes --leak-check=full --show-leak-kinds=all --track-origins=yes ./imach-0.98r-powellf1f3linmnb $(TESTFILE) +# gdb -ex=r --args myprogram arg1 arg2 +# gdb -batch -x /tmp/cmds --args executablename arg1 arg2 arg3 +# gdb -ex=r --args imachback /Users/nbrouard/Documents/Recherches/HRS/RAND_HRS/imachb.imach +btest: imachback $(TESTFILE) + gdb ./imachback $(TESTFILE) test: imach $(TESTFILE) gdb ./imach $(TESTFILE)