mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04: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