You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
| 
								 
											2 years ago
										 
									 | 
							
								# This Makefile requires GNU make, sometimes available as gmake.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# A simple test suite for libmseed.
							 | 
						||
| 
								 | 
							
								# See README for description.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Build environment can be configured the following
							 | 
						||
| 
								 | 
							
								# environment variables:
							 | 
						||
| 
								 | 
							
								#   CC : Specify the C compiler to use
							 | 
						||
| 
								 | 
							
								#   CFLAGS : Specify compiler options to use
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Required compiler parameters
							 | 
						||
| 
								 | 
							
								CFLAGS += -I.. -I.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								LDFLAGS += -L..
							 | 
						||
| 
								 | 
							
								LDLIBS := -lmseed $(LDLIBS)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Source code from example programs
							 | 
						||
| 
								 | 
							
								EXAMPLE_SRCS := $(sort $(wildcard lm_*.c))
							 | 
						||
| 
								 | 
							
								EXAMPLE_BINS := $(EXAMPLE_SRCS:%.c=%)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Source code for tests
							 | 
						||
| 
								 | 
							
								TEST_SRCS := $(sort $(wildcard test-*.c))
							 | 
						||
| 
								 | 
							
								TEST_RUNNER := test-runner
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# ASCII color coding for test results, green for PASSED and red for FAILED
							 | 
						||
| 
								 | 
							
								PASSED := \033[0;32mPASSED\033[0m
							 | 
						||
| 
								 | 
							
								FAILED := \033[0;31mFAILED\033[0m
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test all: $(EXAMPLE_BINS) $(TEST_RUNNER) runtests
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Build example programs and check for executables
							 | 
						||
| 
								 | 
							
								$(EXAMPLE_BINS) : % : %.c
							 | 
						||
| 
								 | 
							
									@$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LDLIBS); exit 0;
							 | 
						||
| 
								 | 
							
									@if test -x $@; \
							 | 
						||
| 
								 | 
							
									  then printf '$(PASSED) Building $<\n'; \
							 | 
						||
| 
								 | 
							
									  else printf '$(FAILED) Building $<\n'; exit 1; \
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Build tests
							 | 
						||
| 
								 | 
							
								.PHONY: $(TEST_RUNNER)
							 | 
						||
| 
								 | 
							
								$(TEST_RUNNER):
							 | 
						||
| 
								 | 
							
									$(CC) $(CFLAGS) -o $@ $(TEST_SRCS) $(LDFLAGS) $(LDLIBS) -Wno-unused-but-set-variable
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Execute tests
							 | 
						||
| 
								 | 
							
								runtests: $(TEST_RUNNER)
							 | 
						||
| 
								 | 
							
									@./$(TEST_RUNNER)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								clean:
							 | 
						||
| 
								 | 
							
									@rm -rf $(EXAMPLE_BINS) $(TEST_RUNNER) testdata-* *.dSYM
							 |