updated build files to produce hakgo under bin
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone Build is passing
				
			This commit is contained in:
		
							
								
								
									
										52
									
								
								Makefile.am
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								Makefile.am
									
									
									
									
									
								
							@ -20,55 +20,3 @@ clean-local:
 | 
			
		||||
	rm -rf $(builddir)/go.mod $(builddir)/go.sum
 | 
			
		||||
	go clean -C $(srcdir) -x -modfile $(abs_builddir)/go.mod -cache
 | 
			
		||||
 | 
			
		||||
if ENABLE_HAKGO
 | 
			
		||||
 | 
			
		||||
## the attempt to compose a proper procedure using a regular compiler failed.
 | 
			
		||||
## e.g ./configure GOC=opt/go/pkg/tool/linux_amd64/
 | 
			
		||||
## while go.m4 is included in autoconf 2.71, the support for the go language
 | 
			
		||||
## is very limited and the go language itself is pursuing the module based builder.
 | 
			
		||||
##
 | 
			
		||||
## the following is to trick autoconf/automake as if it's building go files with
 | 
			
		||||
## a real compiler whereas the actual building is done thru `go build`
 | 
			
		||||
 | 
			
		||||
bin_PROGRAMS = bin/hakgo
 | 
			
		||||
bin_hakgo_SOURCES = \
 | 
			
		||||
	hak.go \
 | 
			
		||||
	hak-cb.go \
 | 
			
		||||
	hak-inst.go \
 | 
			
		||||
	bin/main.go \
 | 
			
		||||
	go.mod
 | 
			
		||||
bin_hakgo_DEPENDENCIES = hakgo.bin
 | 
			
		||||
 | 
			
		||||
## let the linker to move hakgo.bin to the actual target
 | 
			
		||||
##bin_hakgo_LINK = mv -f hakgo.bin hakgo$(EXEEXT) || echo "FAILED TO LINK"
 | 
			
		||||
 | 
			
		||||
if ENABLE_STATIC
 | 
			
		||||
CGO_CFLAGS_EXTRA="-static"
 | 
			
		||||
CGO_LDFLAGS_EXTRA="-static"
 | 
			
		||||
else
 | 
			
		||||
CGO_CFLAGS_EXTRA=""
 | 
			
		||||
CGO_LDFLAGS_EXTRA=""
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
bin/hakgo$(EXEEXT): lib/libhak.la $(hakgo_OBJECTS)
 | 
			
		||||
	cp -pf $(srcdir)/go.mod $(builddir)/go.mod >/dev/null 2>&1 || true
 | 
			
		||||
	chmod u+w $(builddir)/go.mod ## with `make distcheck`, the echo's redirection to the file fails without this permission change
 | 
			
		||||
	[ -f $(srcdir)/go.sum ] && cp -pf $(srcdir)/go.sum $(builddir)/go.sum >/dev/null 2>&1 || true
 | 
			
		||||
	## ---------------------------------------------------------------
 | 
			
		||||
	CC=$(CC) \
 | 
			
		||||
	CGO_CFLAGS="-I$(abs_srcdir)/lib -I$(abs_builddir)/lib $(CFLAGS) $(CGO_CFLAGS_EXTRA)" \
 | 
			
		||||
	CGO_LDFLAGS="-L$(abs_builddir)/lib -L$(abs_builddir)/lib/.libs -lhak -ldl $(LIBM) $(CGO_LDFLAGS_EXTRA)"  \
 | 
			
		||||
	go build -C $(srcdir) -ldflags "-X 'main.BINDIR=$(bindir)' -X 'main.SBINDIR=$(sbindir)' -X 'main.LIBDIR=$(libdir)' -X 'main.SYSCONFDIR=$(sysconfdir)'" -x -o $(abs_builddir)/$@ -modfile $(abs_builddir)/go.mod  $(abs_srcdir)/bin/main.go
 | 
			
		||||
	## ---------------------------------------------------------------
 | 
			
		||||
	go clean -C $(srcdir) -x -modfile $(abs_builddir)/go.mod
 | 
			
		||||
 | 
			
		||||
## the go to o recipe is fake to deceive make
 | 
			
		||||
.go.o:
 | 
			
		||||
	echo $< > $@
 | 
			
		||||
 | 
			
		||||
.mod.o:
 | 
			
		||||
	echo $< > $@
 | 
			
		||||
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user