110 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
| #
 | |
| # Read COPYING for licensing details.
 | |
| #
 | |
| # Ngie Cooper, June 2010
 | |
| #
 | |
| 
 | |
| # Makefiles that are considered critical to execution; if they don't exist
 | |
| # all of the Makefiles will be rebuilt by default.
 | |
| CRITICAL_MAKEFILE=	conformance/interfaces/timer_settime/Makefile
 | |
| 
 | |
| # The default logfile for the tests.
 | |
| LOGFILE?=		logfile
 | |
| # Subdirectories to traverse down.
 | |
| SUBDIRS=		conformance functional stress
 | |
| 
 | |
| MAKE_ENV=		LOGFILE=`if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
 | |
| 
 | |
| BUILD_MAKE_ENV=		"CFLAGS=$(CFLAGS)" "LDFLAGS=$(LDFLAGS)"
 | |
| BUILD_MAKE_ENV+=	"LDLIBS=$(LDLIBS)" $(MAKE_ENV)
 | |
| 
 | |
| TEST_MAKE_ENV=		$(MAKE_ENV)
 | |
| 
 | |
| BUILD_MAKE=		env $(BUILD_MAKE_ENV) $(MAKE)
 | |
| 
 | |
| TEST_MAKE=		env $(TEST_MAKE_ENV) $(MAKE) -k
 | |
| 
 | |
| top_srcdir?=		.
 | |
| 
 | |
| prefix?=		`$(top_srcdir)/scripts/print_prefix.sh`
 | |
| 
 | |
| datadir?=		$(prefix)/share
 | |
| 
 | |
| exec_prefix?=		$(prefix)
 | |
| 
 | |
| all: conformance-all functional-all stress-all tools-all
 | |
| 
 | |
| ifeq ($(shell uname -s), Linux)
 | |
| include Makefile.linux
 | |
| endif
 | |
| 
 | |
| clean: $(CRITICAL_MAKEFILE)
 | |
| 	@rm -f $(LOGFILE)*
 | |
| 	@for dir in $(SUBDIRS) tools; do \
 | |
| 	    $(MAKE) -C $$dir clean >/dev/null; \
 | |
| 	done
 | |
| 
 | |
| distclean: distclean-makefiles
 | |
| 
 | |
| # Clean out all of the generated Makefiles.
 | |
| distclean-makefiles:
 | |
| 	@for dir in $(SUBDIRS); do \
 | |
| 		$(MAKE) -C $$dir $@; \
 | |
| 	done
 | |
| 
 | |
| generate-makefiles: distclean-makefiles
 | |
| 	@env top_srcdir=$(top_srcdir) \
 | |
| 	    $(top_srcdir)/scripts/generate-makefiles.sh
 | |
| 
 | |
| install: bin-install conformance-install functional-install stress-install
 | |
| 
 | |
| test: conformance-test functional-test stress-test
 | |
| 
 | |
| # Test build and execution targets.
 | |
| conformance-all: $(CRITICAL_MAKEFILE)
 | |
| 	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
 | |
| 	@$(BUILD_MAKE) -C conformance -j1 all
 | |
| 
 | |
| conformance-install:
 | |
| 	@$(MAKE) -C conformance install
 | |
| 
 | |
| conformance-test:
 | |
| 	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
 | |
| 	@$(TEST_MAKE) -C conformance test
 | |
| 
 | |
| functional-all: $(CRITICAL_MAKEFILE)
 | |
| 	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
 | |
| 	@$(BUILD_MAKE) -C functional -j1 all
 | |
| 
 | |
| functional-install:
 | |
| 	@$(MAKE) -C functional install
 | |
| 
 | |
| functional-test:
 | |
| 	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
 | |
| 	@$(TEST_MAKE) -C functional test
 | |
| 
 | |
| stress-all: $(CRITICAL_MAKEFILE)
 | |
| 	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
 | |
| 	@$(BUILD_MAKE) -C stress -j1 all
 | |
| 
 | |
| stress-install:
 | |
| 	@$(MAKE) -C stress install
 | |
| 
 | |
| stress-test:
 | |
| 	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else echo "\`pwd\`/$(LOGFILE)"; fi`.$@
 | |
| 	@$(TEST_MAKE) -C stress test
 | |
| 
 | |
| # Tools build and install targets.
 | |
| bin-install:
 | |
| 	@$(MAKE) -C bin install
 | |
| 
 | |
| tools-all:
 | |
| 	@$(MAKE) -C tools all
 | |
| 
 | |
| $(CRITICAL_MAKEFILE): \
 | |
|     $(top_srcdir)/scripts/generate-makefiles.sh	\
 | |
|     $(top_srcdir)/CFLAGS			\
 | |
|     $(top_srcdir)/LDFLAGS			\
 | |
|     $(top_srcdir)/LDLIBS
 | |
| 	@$(MAKE) generate-makefiles
 |