Makefile reworked.
This commit is contained in:
		
							parent
							
								
									516ccf1e58
								
							
						
					
					
						commit
						835415caac
					
				
					 2 changed files with 33 additions and 80 deletions
				
			
		
							
								
								
									
										96
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										96
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -8,101 +8,71 @@ else
 | 
			
		|||
LOGIN_OPT = -l $(LOGIN)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# No idea why, but I need that to run applications. Ignore that.
 | 
			
		||||
#LD_P ?= LD_PRELOAD=/usr/local/lib/libipc.so.0
 | 
			
		||||
 | 
			
		||||
OPTS ?= --progress
 | 
			
		||||
 | 
			
		||||
Q ?= @
 | 
			
		||||
 | 
			
		||||
SHOULD_UPDATE = ./bin/should-update
 | 
			
		||||
SOURCE_FILES = $(wildcard src/*.cr src/*/*.cr src/*/*/*.cr)
 | 
			
		||||
 | 
			
		||||
####################
 | 
			
		||||
### REQUEST EXAMPLES
 | 
			
		||||
####################
 | 
			
		||||
 | 
			
		||||
DOMAIN ?= example.com
 | 
			
		||||
build-write-zone-file: tools/write-zone-file.cr
 | 
			
		||||
	$(Q)-([ ! -f bin/write-zone-file ] || [ tools/write-zone-file.cr -nt bin/write-zone-file ]) && shards build write-zone-file $(OPTS)
 | 
			
		||||
bin/write-zone-file: tools/write-zone-file.cr
 | 
			
		||||
	$(Q)-shards build write-zone-file $(OPTS)
 | 
			
		||||
build-write-zone-file: bin/write-zone-file
 | 
			
		||||
zone-file: build-write-zone-file
 | 
			
		||||
	$(Q)./bin/write-zone-file $(DOMAIN)
 | 
			
		||||
 | 
			
		||||
build-write-template-zone-file: tools/write-template-zone-file.cr
 | 
			
		||||
	$(Q)-([ ! -f bin/write-template-zone-file ] || [ tools/write-template-zone-file.cr -nt bin/write-template-zone-file ]) && shards build write-template-zone-file $(OPTS)
 | 
			
		||||
bin/write-template-zone-file: tools/write-template-zone-file.cr
 | 
			
		||||
	$(Q)-shards build write-template-zone-file $(OPTS)
 | 
			
		||||
build-write-template-zone-file: bin/write-template-zone-file
 | 
			
		||||
zone-basic-template-file: build-write-template-zone-file
 | 
			
		||||
	$(Q)./bin/write-template-zone-file $(DOMAIN)
 | 
			
		||||
 | 
			
		||||
VERBOSITY ?= 4
 | 
			
		||||
run-client-verbosity:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanager-client admin maintenance verbosity $(VERBOSITY) $(LOGIN_OPT)
 | 
			
		||||
 | 
			
		||||
run-client-domain-add:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanager-client user domain add $(DOMAIN) $(LOGIN_OPT)
 | 
			
		||||
 | 
			
		||||
run-client-domain-del:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanager-client user domain del $(DOMAIN) $(LOGIN_OPT)
 | 
			
		||||
 | 
			
		||||
run-client-domain-list:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanager-client user domain list $(LOGIN_OPT)
 | 
			
		||||
 | 
			
		||||
run-client-zone-add:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanager-client user zone add $(DOMAIN).json $(LOGIN_OPT)
 | 
			
		||||
 | 
			
		||||
run-client-zone-get:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanager-client user zone get $(DOMAIN) $(LOGIN_OPT)
 | 
			
		||||
run-client-verbosity:;    $(Q)./bin/dnsmanager-client admin maintenance verbosity $(VERBOSITY) $(LOGIN_OPT)
 | 
			
		||||
run-client-domain-add:;   $(Q)./bin/dnsmanager-client user domain add $(DOMAIN) $(LOGIN_OPT)
 | 
			
		||||
run-client-domain-del:;   $(Q)./bin/dnsmanager-client user domain del $(DOMAIN) $(LOGIN_OPT)
 | 
			
		||||
run-client-domain-list:;  $(Q)./bin/dnsmanager-client user domain list $(LOGIN_OPT)
 | 
			
		||||
run-client-zone-add:;     $(Q)./bin/dnsmanager-client user zone add $(DOMAIN).json $(LOGIN_OPT)
 | 
			
		||||
run-client-zone-get:;     $(Q)./bin/dnsmanager-client user zone get $(DOMAIN) $(LOGIN_OPT)
 | 
			
		||||
 | 
			
		||||
RRID ?= 1
 | 
			
		||||
NAME ?=
 | 
			
		||||
TTL ?= 3600
 | 
			
		||||
TARGET ?=
 | 
			
		||||
run-client-rr-add-a:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanager-client user rr add A $(DOMAIN) $(NAME) $(TTL) $(TARGET) $(LOGIN_OPT)
 | 
			
		||||
 | 
			
		||||
run-client-rr-update-a:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanager-client user rr update A $(DOMAIN) $(RRID) $(NAME) $(TTL) $(TARGET) $(LOGIN_OPT)
 | 
			
		||||
 | 
			
		||||
run-client-rr-del:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanager-client user rr del $(DOMAIN) $(RRID) $(LOGIN_OPT)
 | 
			
		||||
 | 
			
		||||
run-admin-generate-all-zonefiles:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanager-client admin genall $(LOGIN_OPT)
 | 
			
		||||
run-client-rr-add-a:;    $(Q)./bin/dnsmanager-client user rr add A $(DOMAIN) $(NAME) $(TTL) $(TARGET) $(LOGIN_OPT)
 | 
			
		||||
run-client-rr-update-a:; $(Q)./bin/dnsmanager-client user rr update A $(DOMAIN) $(RRID) $(NAME) $(TTL) $(TARGET) $(LOGIN_OPT)
 | 
			
		||||
run-client-rr-del:;      $(Q)./bin/dnsmanager-client user rr del $(DOMAIN) $(RRID) $(LOGIN_OPT)
 | 
			
		||||
run-client-genzones:;    $(Q)./bin/dnsmanager-client admin genall $(LOGIN_OPT)
 | 
			
		||||
 | 
			
		||||
##################
 | 
			
		||||
### SETUP COMMANDS
 | 
			
		||||
##################
 | 
			
		||||
 | 
			
		||||
DBDIR=/tmp/DATA-dnsmanagerd
 | 
			
		||||
run-dnsmanagerd:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/dnsmanagerd -v $(VERBOSITY) -r $(DBDIR)
 | 
			
		||||
bin/dnsmanagerd: $(SOURCE_FILES); $(Q)shards build dnsmanagerd $(OPTS)
 | 
			
		||||
build-server: bin/dnsmanagerd
 | 
			
		||||
run-dnsmanagerd:; $(Q)./bin/dnsmanagerd -v $(VERBOSITY) -r $(DBDIR)
 | 
			
		||||
 | 
			
		||||
bin/dnsmanager-client: $(SOURCE_FILES); $(Q)shards build dnsmanager-client $(OPTS)
 | 
			
		||||
build-client: bin/dnsmanager-client
 | 
			
		||||
 | 
			
		||||
PORT ?= 8082
 | 
			
		||||
ADDR ?=
 | 
			
		||||
run-token-handler:
 | 
			
		||||
	$(Q)$(LD_P) ./bin/token-handler $(PORT) $(ADDR)
 | 
			
		||||
 | 
			
		||||
build-server:
 | 
			
		||||
	$(Q)-$(SHOULD_UPDATE) bin/dnsmanagerd && shards build dnsmanagerd $(OPTS)
 | 
			
		||||
 | 
			
		||||
build-client:
 | 
			
		||||
	$(Q)-$(SHOULD_UPDATE) bin/dnsmanager-client && shards build dnsmanager-client $(OPTS)
 | 
			
		||||
 | 
			
		||||
build-token-handler:
 | 
			
		||||
	$(Q)shards build token-handler $(OPTS)
 | 
			
		||||
bin/token-handler: tools/token-handler.cr; $(Q)shards build token-handler $(OPTS)
 | 
			
		||||
build-token-handler: bin/token-handler
 | 
			
		||||
run-token-handler: bin/token-handler; $(Q)./bin/token-handler $(PORT) $(ADDR)
 | 
			
		||||
 | 
			
		||||
build: build-server build-client build-token-handler
 | 
			
		||||
 | 
			
		||||
print-messages:
 | 
			
		||||
	cat src/requests/*.cr | ./bin/get-messages.awk
 | 
			
		||||
print-message-numbers:
 | 
			
		||||
	make -s print-messages | grep -E "^[0-9]" | sort -n
 | 
			
		||||
print-messages-without-comments:
 | 
			
		||||
	make -s print-messages | grep -vE '^[[:blank:]]+#'
 | 
			
		||||
print-response-messages:
 | 
			
		||||
	cat src/responses/*.cr | ./bin/get-messages.awk
 | 
			
		||||
print-response-message-numbers:
 | 
			
		||||
	make -s print-response-messages | grep -E "^[0-9]" | sort -n
 | 
			
		||||
print-response-messages-without-comments:
 | 
			
		||||
	make -s print-response-messages | grep -vE '^[[:blank:]]+#'
 | 
			
		||||
print-messages:;                      cat src/requests/*.cr | ./bin/get-messages.awk
 | 
			
		||||
print-message-numbers:;               make -s print-messages | grep -E "^[0-9]" | sort -n
 | 
			
		||||
print-messages-no-comments:;          make -s print-messages | grep -vE '^[[:blank:]]+#'
 | 
			
		||||
print-response-messages:;             cat src/responses/*.cr | ./bin/get-messages.awk
 | 
			
		||||
print-response-message-numbers:;      make -s print-response-messages | grep -E "^[0-9]" | sort -n
 | 
			
		||||
print-response-messages-no-comments:; make -s print-response-messages | grep -vE '^[[:blank:]]+#'
 | 
			
		||||
 | 
			
		||||
# format: nb-domains <TAB> login <TAB> domain1 <TAB> domain2 <TAB> domain3
 | 
			
		||||
MIGRATION_FILE_TARGET = /tmp/dnsmanagerd-migration
 | 
			
		||||
| 
						 | 
				
			
			@ -115,7 +85,7 @@ migration: migration-file run-migration-client
 | 
			
		|||
doc:
 | 
			
		||||
	crystal docs src/main.cr src/client.cr lib/authd/src/client.cr
 | 
			
		||||
 | 
			
		||||
HTTPD_ACCESS_LOGS ?= /tmp/access-dodb-docs.log
 | 
			
		||||
HTTPD_ACCESS_LOGS ?= /tmp/access-dnsmanager-docs.log
 | 
			
		||||
HTTPD_ADDR        ?= 127.0.0.1
 | 
			
		||||
HTTPD_PORT        ?= 9001
 | 
			
		||||
DIR               ?= docs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,17 +0,0 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# Should we run the build?
 | 
			
		||||
 | 
			
		||||
if [ $# -lt 1 ]; then
 | 
			
		||||
	exec >& 2
 | 
			
		||||
	echo "Usage: $0 <exe>"
 | 
			
		||||
	exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
exe=$1
 | 
			
		||||
 | 
			
		||||
# If the binary hasn't already be compiled.
 | 
			
		||||
[ -f "${exe}" ] || exit 0
 | 
			
		||||
 | 
			
		||||
v=`find src/ -type f -newer "${exe}" | wc -l`
 | 
			
		||||
test "${v}" != "0"
 | 
			
		||||
		Loading…
	
	Add table
		
		Reference in a new issue