Diff for /imach/src/Makefile between versions 1.80 and 1.81

version 1.80, 2016/02/19 09:28:06 version 1.81, 2018/02/21 07:58:13
Line 7  OSTYPE = $(shell echo $$OSTYPE) Line 7  OSTYPE = $(shell echo $$OSTYPE)
 DRIVEG=f:  DRIVEG=f:
 #DIRG is the corresponding build directory for Virtual Windows  #DIRG is the corresponding build directory for Virtual Windows
 DIRG=\imach\cvs\imach\build  DIRG=\imach\cvs\imach\build
 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  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
 IMACHSETUPVERSION=icl  IMACHSETUPVERSION=icl
 # This is for Windows only  # This is for Windows only
 #IMACHSETUPVERSION=mvc  #IMACHSETUPVERSION=mvc
Line 61  IMACHSETUPVERSION=icl Line 61  IMACHSETUPVERSION=icl
 #TESTFILE=/mnt/tugault/Documents/Recherches/REVES/Yao/rhrs-yao-test-back.imach  #TESTFILE=/mnt/tugault/Documents/Recherches/REVES/Yao/rhrs-yao-test-back.imach
 #TESTFILE=/mnt/tugault/Documents/Recherches/REVES/Flavia/Flavia-nov-2015/rtest3bb.imach  #TESTFILE=/mnt/tugault/Documents/Recherches/REVES/Flavia/Flavia-nov-2015/rtest3bb.imach
 #TESTFILE=$(HOME)/Documents/Recherches/REVES/Flavia/Flavia-nov-2015/rtest3bb.imach  #TESTFILE=$(HOME)/Documents/Recherches/REVES/Flavia/Flavia-nov-2015/rtest3bb.imach
 TESTFILE=$(HOME)/Documents/Recherches/REVES/SAITO/saito-12-feb-2016/rHRS_relig_import_M_NB.imach  #TESTFILE=$(HOME)/Documents/Recherches/REVES/SAITO/saito-12-feb-2016/rHRS_relig_import_M_NB.imach
   #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/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-mac/adecode-1.142c.imach
 #TESTFILE=$(HOME)/Documents/Recherches/REVES/SAITO/Tokyo2014/adlc_test_magei4/radlc_often.imach  #TESTFILE=$(HOME)/Documents/Recherches/REVES/SAITO/Tokyo2014/adlc_test_magei4/radlc_often.imach
 #CC= gcc -v  #CC= gcc -v
Line 343  imachICL64-noreg-setup: IMaCh-icl64-$(VE Line 348  imachICL64-noreg-setup: IMaCh-icl64-$(VE
         rm -rf ../build/icl64  && mkdir ../build/icl64          rm -rf ../build/icl64  && mkdir ../build/icl64
         cp ../distributions/windows/mybuildicl64.bat ../build/icl64/          cp ../distributions/windows/mybuildicl64.bat ../build/icl64/
         cd ../build/icl64          cd ../build/icl64
         VBoxManage --nologo guestcontrol "Windows7-64" execute --image "C:\Windows\SysWOW64\cmd.exe" \          VBoxManage --nologo guestcontrol "Windows7-64" run --exe "C:\Windows\System32\cmd.exe" \
  --username brouard  --verbose --wait-exit --wait-stdout  --wait-stderr -- "/c" "$(DRIVEG)$(DIRG)\icl64\mybuildicl64.bat" "$(VERSION)" "$(DRIVEG)" "$(DIRG)"   --username brouard  --verbose --wait-stdout  --wait-stderr -- "C:\Windows\SysWOW64\cmd.exe" "/c" "$(DRIVEG)$(DIRG)\icl64\mybuildicl64.bat" "$(VERSION)" "$(DRIVEG)" "$(DIRG)"
   
 #       VBoxManage --nologo guestcontrol "Windows7-64" run --exe "c:\\windows\\system32\\ipconfig.exe" --username brouard  --verbose  --wait-stdout  --wait-stderr -- "/all"  #       VBoxManage --nologo guestcontrol "Windows7-64" run --exe "c:\\windows\\system32\\ipconfig.exe" --username brouard  --verbose  --wait-stdout  --wait-stderr -- "/all"
 #       VBoxManage --nologo guestcontrol "Windows7-64" run --exe "C:\Windows\SysWOW64\cmd.exe" --username brouard  --verbose  --wait-stdout  --wait-stderr -- "/c" "DIR"  #       VBoxManage --nologo guestcontrol "Windows7-64" run --exe "C:\Windows\SysWOW64\cmd.exe" --username brouard  --verbose  --wait-stdout  --wait-stderr -- "/c" "DIR"
Line 358  imachICL64-noreg-setup: IMaCh-icl64-$(VE Line 363  imachICL64-noreg-setup: IMaCh-icl64-$(VE
         rm -rf ../build/icl32 && mkdir -p ../build/icl32          rm -rf ../build/icl32 && mkdir -p ../build/icl32
         cp ../distributions/windows/mybuildicl32.bat ../build/icl32/          cp ../distributions/windows/mybuildicl32.bat ../build/icl32/
         cd ../build/icl32          cd ../build/icl32
         VBoxManage --nologo guestcontrol "Windows7-64" execute --image "C:\Windows\SysWOW64\cmd.exe" \          VBoxManage --nologo guestcontrol "Windows7-64" run --exe "C:\Windows\System32\cmd.exe" \
   --username brouard  --verbose --wait-exit --wait-stdout -- "/c" "$(DRIVEG)$(DIRG)\icl32\mybuildicl32.bat" "$(VERSION)" "$(DRIVEG)" "$(DIRG)"    --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" \  #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)"  # --username brouard  --verbose  --wait-stdout -- "/c" "$(DRIVEG)$(DIRG)\icl32\mybuildicl32.bat" "$(VERSION)" "$(DRIVEG)" "$(DIRG)"
Line 368  imachICL64-noreg-setup: IMaCh-icl64-$(VE Line 373  imachICL64-noreg-setup: IMaCh-icl64-$(VE
         rm -rf ../build/vs32 && mkdir -p ../build/vs32          rm -rf ../build/vs32 && mkdir -p ../build/vs32
         cp mybuildvs32.bat ../build/vs32/          cp mybuildvs32.bat ../build/vs32/
         cd ../build/vs32          cd ../build/vs32
         VBoxManage --nologo guestcontrol "Windows7-64" run --exe "C:\Windows\SysWOW64\cmd.exe" \          VBoxManage --nologo guestcontrol "Windows7-64" run --exe "C:\Windows\System32\cmd.exe" \
         --username brouard  --verbose  --wait-stdout -- "/c" "g:\imach\imach-gui\build\vs32\mybuildvs32.bat" "$(VERSION)"          --username brouard  --verbose  --wait-stdout --  "C:\Windows\SysWOW64\cmd.exe" "/c" "g:\imach\imach-gui\build\vs32\mybuildvs32.bat" "$(VERSION)"
 # C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K "g:\imach\imach-gui\build\icl32\mybuild.bat"  # C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K "g:\imach\imach-gui\build\icl32\mybuild.bat"
 #WORK   --username brouard  --verbose --wait-exit --wait-stdout -- "/c" "c:\users\brouard\mybuild.bat"  #WORK   --username brouard  --verbose --wait-exit --wait-stdout -- "/c" "c:\users\brouard\mybuild.bat"
 #       --username brouard  --verbose --wait-exit --wait-stdout -- "/c" "g: && cd \imach\imach-gui\build\icl32 && mybuild.bat"  #       --username brouard  --verbose --wait-exit --wait-stdout -- "/c" "g: && cd \imach\imach-gui\build\icl32 && mybuild.bat"
Line 422  ifdef _macosx Line 427  ifdef _macosx
 endif  endif
   
 imach.o : imach.c   imach.o : imach.c 
          $(CC) $(CFLAGS) $(CROSSCOMPILATION)  -c imach.c           $(CC) $(CFLAGS) $(CROSSCOMPILATION)  -c $<
   #        $(CC) $(CFLAGS) $(CROSSCOMPILATION)  -DDEBUGMEM -c $<
 #        $(CC) $(CFLAGS) $(CROSSCOMPILATION) -DDEBUGBRENT -c imach.c  #        $(CC) $(CFLAGS) $(CROSSCOMPILATION) -DDEBUGBRENT -c imach.c
   
   imach-0.98r: imach-0.98r.o 
           $(CC) $(LFLAGS) -o $@ $<
   ifdef _macosx
           $(DSYMUTIL) $@
   endif
   
   # Horrible no f3<f1 test and direct test,  converges if close to maximum otherwise diverges
   #calls = 13 & 1760, -2 Log likelihood = 46537.411806825585
   imach-0.98r.o : imach-0.98r.c 
            $(CC) $(CFLAGS) -DPOWELLNOF3INFF1TEST -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE $(CROSSCOMPILATION)  -c $<
   
   #################
   imach-0.98r-powellsf1f3: imach-0.98r-powellsf1f3.o 
           $(CC) $(LFLAGS) -o $@ $<
   ifdef _macosx
           $(DSYMUTIL) $@
   endif
   
   # test f3<f1 but direct test and no powell criteria which are NOPOWELLORIGINALNOMNBAKORIGINAL NOLINMINORIGINAL
   # diverges now from zeroes calls = 18 & 3163, -2 Log likelihood = 50929.075310962719
   # but converges if close to the maximum
   # calls = 13 & 1760, -2 Log likelihood = 46537.411806825585
   imach-0.98r-powellsf1f3.o : imach-0.98r.c 
            $(CC) $(CFLAGS)  -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE  $(CROSSCOMPILATION) -o $@  -c $<
   #        $(CC) $(CFLAGS)  -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE  $(CROSSCOMPILATION) -E -c $< | cppbeauty
   
   ######
   imach-0.98r-powellf1f3: imach-0.98r-powellf1f3.o 
           $(CC) $(LFLAGS) -o $@ $<
   ifdef _macosx
           $(DSYMUTIL) $@
   endif
   
   #Powell original but with mnbrak fix  -DUNKNOWNSTATUSNOTCONTRIBUTING -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE
   #diverges from zeroes
   # calls = 13 & 1760, -2 Log likelihood = 46537.411806825585 Real minumum
   imach-0.98r-powellf1f3.o : imach-0.98r.c 
            $(CC) $(CFLAGS) -DPOWELLORIGINAL -DLINMINORIGINAL -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE $(CROSSCOMPILATION) -o $@  -c $<
   imach-0.98r-powellf1f3.i : imach-0.98r.c 
            $(CC) $(CFLAGS) -DPOWELLORIGINAL -DLINMINORIGINAL -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE $(CROSSCOMPILATION) -E   -c $<| cppbeauty
   #        $(CC) $(CFLAGS) -DPOWELLORIGINAL -DLINMINORIGINAL  $(CROSSCOMPILATION) -E -o $@  -c $<
   
   ######################
   imach-0.98r-powell: imach-0.98r-powell.o 
           $(CC) $(LFLAGS) -o $@ $<
   ifdef _macosx
           $(DSYMUTIL) $@
   endif
   
   # Powell original means without -DPOWELLNOF3INFF1TEST (with F3<F1 test) 
   #calls = 33 & 4088, -2 Log likelihood = 46623.239341985027 reaches the maximum !
   #From zeroes doesn't reach the maximum calls = 34 & 4212, -2 Log likelihood = 46542.398769900567
   #calls = 34 & 4212, -2 Log likelihood = 46542.398769900567
   imach-0.98r-powell.o : imach-0.98r.c 
            $(CC) $(CFLAGS) -DPOWELLORIGINAL -DLINMINORIGINAL -DMNBRAKORIGINAL  -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE $(CROSSCOMPILATION) -o $@  -c $<
   #        $(CC) $(CFLAGS) -DPOWELLORIGINAL -DLINMINORIGINAL -DMNBRAKORIGINAL $(CROSSCOMPILATION) -E  -c $< | cppbeauty
   
   imach-0.98r-powell.i : imach-0.98r.c 
            $(CC) $(CFLAGS) -DPOWELLORIGINAL -DLINMINORIGINAL -DMNBRAKORIGINAL $(CROSSCOMPILATION) -E -o $@ -c $< 
   
   ###############
   # powell test with f1f3 powell, linmin fix but no mnbrak fix
   imach-0.98r-powellf1f3lin: imach-0.98r-powellf1f3lin.o 
           $(CC) $(LFLAGS) -o $@ $<
   ifdef _macosx
           $(DSYMUTIL) $@
   endif
   
   # ?calls = 41 & 4718, -2 Log likelihood = 46690.242656475864
   #calls = 33 & 4088, -2 Log likelihood = 46623.239341985027
   # from zeroes calls = 34 & 4212, -2 Log likelihood = 46542.398769900567
   imach-0.98r-powellf1f3lin.o : imach-0.98r.c 
            $(CC) $(CFLAGS) -DPOWELLORIGINAL -DMNBRAKORIGINAL  -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE $(CROSSCOMPILATION) -o $@  -c $<
   
   #############
   
   
   # directest with f3<f1 without mnbrak fix but linmin fix
   imach-0.98r-powellf1f3orilin: imach-0.98r-powellf1f3orilin.o 
           $(CC) $(LFLAGS) -o $@ $<
   ifdef _macosx
           $(DSYMUTIL) $@
   endif
   
   #Maximum not reached but converge from zeroes
   #calls = 34 & 4212, -2 Log likelihood = 46542.398769900567
   imach-0.98r-powellf1f3orilin.o : imach-0.98r.c 
            $(CC) $(CFLAGS)  -DMNBRAKORIGINAL -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE $(CROSSCOMPILATION) -o $@  -c $<
   
   #######
   
   # Powell test not direct, with mnbrak and linmin fixes
   imach-0.98r-powellf1f3linmnb: imach-0.98r-powellf1f3linmnb.o 
           $(CC) $(LFLAGS) -o $@ $<
   ifdef _macosx
           $(DSYMUTIL) $@
   endif
   
   # worst, diverges from zeroes -DDEBUGMNBRAK
   #calls = 18 & 3163, -2 Log likelihood = 50929.075310962719
   
   imach-0.98r-powellf1f3linmnb.o : imach-0.98r.c 
            $(CC) $(CFLAGS) -DDEBUG -DPOWELLORIGINAL -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE $(CROSSCOMPILATION) -o $@  -c $<
   imach-0.98r-powellf1f3linmnb.i : imach-0.98r.c 
            $(CC) $(CFLAGS) -DDEBUG -DPOWELLORIGINAL -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE $(CROSSCOMPILATION) -E -c $< | cppbeauty
   #########
   
   # Powell test not direct, with mnbrak and linmin fixes
   imach-0.98r-powellf1f3linmnbiter: imach-0.98r-powellf1f3linmnbiter.o 
           $(CC) $(LFLAGS) -o $@ $<
   ifdef _macosx
           $(DSYMUTIL) $@
   endif
   
   #
   #
   
   imach-0.98r-powellf1f3linmnbiter.o : imach-0.98r.c 
            $(CC) $(CFLAGS) -DDEBUG -DPOWELLORIGINAL -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE -DNODIRECTIONCHANGEDUNTILNITER $(CROSSCOMPILATION) -o $@  -c $<
   imach-0.98r-powellf1f3linmnbiter.i : imach-0.98r.c 
            $(CC) $(CFLAGS) -DDEBUG -DPOWELLORIGINAL -DUNKNOWNSTATUSNOTCONTRIBUTING  -DDISPATCHINGKNOWNDEATHAFTERLASTWAVE -DNODIRECTIONCHANGEDUNTILNITER $(CROSSCOMPILATION) -E -c $< | cppbeauty
   #########
   
   
   imach-0.98r-powellf1f3ori: imach-0.98r-powellf1f3ori.o 
           $(CC) $(LFLAGS) -o $@ $<
   ifdef _macosx
           $(DSYMUTIL) $@
   endif
   
   # Powell  with -DPOWELLNOF3INFF1TEST which is not Powell original!
   #calls = 41 & 4718, -2 Log likelihood = 46690.242656475864, doesn't reach the maximum
   imach-0.98r-powellf1f3ori.o : imach-0.98r.c 
            $(CC) $(CFLAGS) -DPOWELLNOF3INFF1TEST -DPOWELLORIGINAL -DLINMINORIGINAL -DMNBRAKORIGINAL $(CROSSCOMPILATION) -o $@  -c $< 
   imach-0.98r-powellf1f3ori.i : imach-0.98r.c 
            $(CC) $(CFLAGS) -DPOWELLNOF3INFF1TEST -DPOWELLORIGINAL -DLINMINORIGINAL -DMNBRAKORIGINAL $(CROSSCOMPILATION) -E -o $@  -c $<| cppbeauty
   
   
   
   
   
   
 imachtest.o : imach.c   imachtest.o : imach.c 
          $(CC) $(CFLAGS) $(CROSSCOMPILATION) -DPOWELLORIGINAL -DNRCORIGINAL -DINFINITYORIGINAL -DDEBUGBRENT -o imachtest.o -c imach.c           $(CC) $(CFLAGS) $(CROSSCOMPILATION) -DPOWELLORIGINAL -DNRCORIGINAL -DINFINITYORIGINAL -DDEBUGBRENT -o $@ -c $<
   
 #        $(CC) $(CFLAGS) $(CROSSCOMPILATION)  -DFIXMNBRAK -o imachtest.o -c imach.c  #        $(CC) $(CFLAGS) $(CROSSCOMPILATION)  -DFIXMNBRAK -o imachtest.o -c imach.c
   
Line 547  upload: Line 695  upload:
 #       rsync -v Output/imach-0.98r4-1.x86_64.rpm brouard@henry.ined.fr:/home/euroreves/html/imach/Download  #       rsync -v Output/imach-0.98r4-1.x86_64.rpm brouard@henry.ined.fr:/home/euroreves/html/imach/Download
 #       rsync -v Output/IMaCh-0.99a3-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download  #       rsync -v Output/IMaCh-0.99a3-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download
 #       rsync -v Output/imach0.99a3.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download  #       rsync -v Output/imach0.99a3.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download
         rsync -v Output/IMaCh-0.98r7-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download  #       rsync -v Output/IMaCh-0.98r7-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download
         rsync -v Output/imach0.98r7.dmg brouard@henry.ined.fr:/home/euroreves/html/imach/Download  #       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.99r14-icl-setup.exe brouard@henry.ined.fr:/home/euroreves/html/imach/Download
           rsync -v Output/imach0.99r14.dmg 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/* brouard@henry.ined.fr:/home/euroreves/html/imach/Download
   
 imachcyg : imachcyg.o  imachcyg : imachcyg.o
Line 566  imach.exe : imachw32.o Line 719  imach.exe : imachw32.o
         i386-mingw32-gcc  -mwindows -o imach.exe -lm imachw32.o          i386-mingw32-gcc  -mwindows -o imach.exe -lm imachw32.o
         i386-mingw32-strip imach.exe          i386-mingw32-strip imach.exe
   
   valgrindtoto: valgrindtoto.c
           gcc -o valgrindtoto -DCROSS=0 -g valgrindtoto.c
   valgrindtototest: valgrindtoto
           valgrind  --dsymutil=yes --leak-check=full --show-leak-kinds=all --track-origins=yes ./valgrindtoto
   
 valgrind-test :  imach $(TESTFILE)   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 $(TESTFILE)
   #       valgrind  --dsymutil=yes --leak-check=full --show-leak-kinds=all --track-origins=yes ./imach-0.98r-powellf1f3linmnb $(TESTFILE)
 test:  imach $(TESTFILE)   test:  imach $(TESTFILE) 
         gdb ./imach $(TESTFILE)          gdb ./imach $(TESTFILE)
   

Removed from v.1.80  
changed lines
  Added in v.1.81


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>