mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-04 05:50:31 -05:00 
			
		
		
		
	Make wsprd Makefile work on Linux with gcc/gfortran.
This commit is contained in:
		
							parent
							
								
									871ff3892b
								
							
						
					
					
						commit
						9ff9dc5c42
					
				@ -5,7 +5,7 @@ FC = gfortran
 | 
				
			|||||||
CFLAGS= -I/usr/include -Wall -Wno-missing-braces -O3 -ffast-math
 | 
					CFLAGS= -I/usr/include -Wall -Wno-missing-braces -O3 -ffast-math
 | 
				
			||||||
LDFLAGS = -L/usr/lib
 | 
					LDFLAGS = -L/usr/lib
 | 
				
			||||||
FFLAGS =  -O2 -Wall -Wno-conversion
 | 
					FFLAGS =  -O2 -Wall -Wno-conversion
 | 
				
			||||||
LIBS = -lfftw3f -lm
 | 
					LIBS = -lfftw3f -lm -lgfortran
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Default rules
 | 
					# Default rules
 | 
				
			||||||
%.o: %.c $(DEPS)
 | 
					%.o: %.c $(DEPS)
 | 
				
			||||||
@ -19,16 +19,12 @@ LIBS = -lfftw3f -lm
 | 
				
			|||||||
%.o: %.F90
 | 
					%.o: %.F90
 | 
				
			||||||
	${FC} ${FFLAGS} -c $<
 | 
						${FC} ${FFLAGS} -c $<
 | 
				
			||||||
 | 
					
 | 
				
			||||||
all:    wsprd wsprsim wsprd_exp
 | 
					all:    wsprd 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DEPS =  wsprsim_utils.h wsprd_utils.h fano.h jelinek.h nhash.h
 | 
					DEPS =  wsprsim_utils.h wsprd_utils.h fano.h jelinek.h nhash.h
 | 
				
			||||||
OBJS1 = wsprd.o wsprsim_utils.o wsprd_utils.o tab.o fano.o jelinek.o nhash.o
 | 
					OBJS1 = wsprd.o wsprsim_utils.o wsprd_utils.o tab.o fano.o jelinek.o nhash.o indexx.o osdwspr.o
 | 
				
			||||||
wsprd: $(OBJS1)
 | 
					wsprd: $(OBJS1)
 | 
				
			||||||
	$(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) $(LIBS)
 | 
						$(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) $(LIBS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
OBJS2 = wsprsim.o wsprsim_utils.o wsprd_utils.o tab.o fano.o nhash.o 
 | 
					 | 
				
			||||||
wsprsim: $(OBJS2) 
 | 
					 | 
				
			||||||
	$(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) $(LIBS)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
clean:
 | 
					clean:
 | 
				
			||||||
	rm *.o wsprd wsprsim
 | 
						rm *.o wsprd
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										91
									
								
								lib/wsprd/indexx.f90
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								lib/wsprd/indexx.f90
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,91 @@
 | 
				
			|||||||
 | 
					subroutine indexx(arr,n,indx)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  parameter (M=7,NSTACK=50)
 | 
				
			||||||
 | 
					  integer n,indx(n)
 | 
				
			||||||
 | 
					  real arr(n)
 | 
				
			||||||
 | 
					  integer i,indxt,ir,itemp,j,jstack,k,l,istack(NSTACK)
 | 
				
			||||||
 | 
					  real a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  do j=1,n
 | 
				
			||||||
 | 
					     indx(j)=j
 | 
				
			||||||
 | 
					  enddo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  jstack=0
 | 
				
			||||||
 | 
					  l=1
 | 
				
			||||||
 | 
					  ir=n
 | 
				
			||||||
 | 
					1 if(ir-l.lt.M) then
 | 
				
			||||||
 | 
					     do j=l+1,ir
 | 
				
			||||||
 | 
					        indxt=indx(j)
 | 
				
			||||||
 | 
					        a=arr(indxt)
 | 
				
			||||||
 | 
					        do i=j-1,1,-1
 | 
				
			||||||
 | 
					           if(arr(indx(i)).le.a) goto 2
 | 
				
			||||||
 | 
					           indx(i+1)=indx(i)
 | 
				
			||||||
 | 
					        enddo
 | 
				
			||||||
 | 
					        i=0
 | 
				
			||||||
 | 
					2       indx(i+1)=indxt
 | 
				
			||||||
 | 
					     enddo
 | 
				
			||||||
 | 
					     if(jstack.eq.0) return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     ir=istack(jstack)
 | 
				
			||||||
 | 
					     l=istack(jstack-1)
 | 
				
			||||||
 | 
					     jstack=jstack-2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					     k=(l+ir)/2
 | 
				
			||||||
 | 
					     itemp=indx(k)
 | 
				
			||||||
 | 
					     indx(k)=indx(l+1)
 | 
				
			||||||
 | 
					     indx(l+1)=itemp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     if(arr(indx(l+1)).gt.arr(indx(ir))) then
 | 
				
			||||||
 | 
					        itemp=indx(l+1)
 | 
				
			||||||
 | 
					        indx(l+1)=indx(ir)
 | 
				
			||||||
 | 
					        indx(ir)=itemp
 | 
				
			||||||
 | 
					     endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     if(arr(indx(l)).gt.arr(indx(ir))) then
 | 
				
			||||||
 | 
					        itemp=indx(l)
 | 
				
			||||||
 | 
					        indx(l)=indx(ir)
 | 
				
			||||||
 | 
					        indx(ir)=itemp
 | 
				
			||||||
 | 
					     endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     if(arr(indx(l+1)).gt.arr(indx(l))) then
 | 
				
			||||||
 | 
					        itemp=indx(l+1)
 | 
				
			||||||
 | 
					        indx(l+1)=indx(l)
 | 
				
			||||||
 | 
					        indx(l)=itemp
 | 
				
			||||||
 | 
					     endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     i=l+1
 | 
				
			||||||
 | 
					     j=ir
 | 
				
			||||||
 | 
					     indxt=indx(l)
 | 
				
			||||||
 | 
					     a=arr(indxt)
 | 
				
			||||||
 | 
					3    continue
 | 
				
			||||||
 | 
					     i=i+1
 | 
				
			||||||
 | 
					     if(arr(indx(i)).lt.a) goto 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					4    continue
 | 
				
			||||||
 | 
					     j=j-1
 | 
				
			||||||
 | 
					     if(arr(indx(j)).gt.a) goto 4
 | 
				
			||||||
 | 
					     if(j.lt.i) goto 5
 | 
				
			||||||
 | 
					     itemp=indx(i)
 | 
				
			||||||
 | 
					     indx(i)=indx(j)
 | 
				
			||||||
 | 
					     indx(j)=itemp
 | 
				
			||||||
 | 
					     goto 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					5    indx(l)=indx(j)
 | 
				
			||||||
 | 
					     indx(j)=indxt
 | 
				
			||||||
 | 
					     jstack=jstack+2
 | 
				
			||||||
 | 
					     if(jstack.gt.NSTACK) stop 'NSTACK too small in indexx'
 | 
				
			||||||
 | 
					     if(ir-i+1.ge.j-l)then
 | 
				
			||||||
 | 
					        istack(jstack)=ir
 | 
				
			||||||
 | 
					        istack(jstack-1)=i
 | 
				
			||||||
 | 
					        ir=j-1
 | 
				
			||||||
 | 
					     else
 | 
				
			||||||
 | 
					        istack(jstack)=j-1
 | 
				
			||||||
 | 
					        istack(jstack-1)=l
 | 
				
			||||||
 | 
					        l=i
 | 
				
			||||||
 | 
					     endif
 | 
				
			||||||
 | 
					  endif
 | 
				
			||||||
 | 
					  goto 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end subroutine indexx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user