mirror of
				https://github.com/markqvist/tncattach.git
				synced 2025-11-04 05:40:41 -05:00 
			
		
		
		
	chore: refine Makefile with Makefile Conventions
Users can now do the following: - use DESTDIR to specify another root dir - use PREFIX to specify another install path except for /usr/local, e.g. /usr for the system package. - load custom CFLAGS and LDFLAGS from environment variables - use CC to specify the C compiler These features are helpful to package it into Linux Distribution. Signed-off-by: Coelacanthus <CoelacanthusHex@gmail.com>
This commit is contained in:
		
							parent
							
								
									d9b3d2b6ae
								
							
						
					
					
						commit
						54b4ae14f8
					
				
							
								
								
									
										30
									
								
								makefile
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								makefile
									
									
									
									
									
								
							@ -1,33 +1,35 @@
 | 
			
		||||
.DEFAULT_GOAL := all
 | 
			
		||||
.PHONY: all clean install uninstall tncattach
 | 
			
		||||
 | 
			
		||||
compiler = gcc
 | 
			
		||||
flags = -Wall -std=gnu11 -static-libgcc
 | 
			
		||||
RM ?= rm
 | 
			
		||||
INSTALL ?= install
 | 
			
		||||
CC ?= gcc
 | 
			
		||||
CFLAGS ?= -Wall -std=gnu11 -static-libgcc
 | 
			
		||||
LDFLAGS ?= 
 | 
			
		||||
PREFIX ?= /usr/local
 | 
			
		||||
 | 
			
		||||
all: tncattach
 | 
			
		||||
rebuild: clean all
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	@echo "Cleaning tncattach build..."
 | 
			
		||||
	@rm -f tncattach
 | 
			
		||||
	$(RM) -f tncattach
 | 
			
		||||
 | 
			
		||||
tncattach:
 | 
			
		||||
	@echo "Making tncattach..."
 | 
			
		||||
	@echo "Compiling with: ${compiler}"
 | 
			
		||||
	${compiler} ${flags} tncattach.c Serial.c TCP.c KISS.c TAP.c -o tncattach -Wall
 | 
			
		||||
	@echo "Compiling with: $(CC)"
 | 
			
		||||
	$(CC) $(CFLAGS) $(LDFLAGS) tncattach.c Serial.c TCP.c KISS.c TAP.c -o tncattach
 | 
			
		||||
 | 
			
		||||
install:
 | 
			
		||||
	@echo "Installing tncattach..."
 | 
			
		||||
	@chmod a+x tncattach
 | 
			
		||||
	cp ./tncattach /usr/local/sbin/
 | 
			
		||||
	$(INSTALL) -d $(DESTDIR)/$(PREFIX)/bin
 | 
			
		||||
	$(INSTALL) -Dm755 tncattach $(DESTDIR)/$(PREFIX)/bin/tncattach
 | 
			
		||||
	@echo "Installing man page..."
 | 
			
		||||
	@mkdir -p /usr/local/man/man8
 | 
			
		||||
	@install -m 644 -o root -g root tncattach.8 /usr/local/man/man8/tncattach.8
 | 
			
		||||
	@echo "Updating mandb..."
 | 
			
		||||
	@mandb -f /usr/local/man/man8/tncattach.8 2> /dev/null 1> /dev/null
 | 
			
		||||
	@echo "Done"
 | 
			
		||||
	gzip -9 tncattach.8
 | 
			
		||||
	$(INSTALL) -d $(DESTDIR)/$(PREFIX)/share/man/man8
 | 
			
		||||
	$(INSTALL) -Dm644 tncattach.8.gz $(DESTDIR)/$(PREFIX)/share/man/man8/tncattach.8.gz
 | 
			
		||||
 | 
			
		||||
uninstall:
 | 
			
		||||
	@echo "Uninstalling tncattach"
 | 
			
		||||
	rm /usr/local/sbin/tncattach
 | 
			
		||||
	rm /usr/local/man/man8/tncattach.8
 | 
			
		||||
	$(RM) $(DESTDIR)/$(PREFIX)/bin/tncattach
 | 
			
		||||
	$(RM) $(DESTDIR)/$(PREFIX)/share/man/man8/tncattach.8.gz
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user