26 lines
		
	
	
		
			712 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			712 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| #location of test mains
 | |
| OFFSHORE_MAINS := .
 | |
| # location of project directories
 | |
| OFFSHORE_PROJECTS := ..
 | |
| 
 | |
| empty:=
 | |
| space:= $(empty) $(empty)
 | |
| CFLAGS_MANDATORY := -Wall -Wextra -Werror
 | |
| all_builds := $(foreach e, 00 01 02 03 04 05 06 07 08, build/c00/ex$e) \
 | |
|   $(foreach e, 00 01 02 03 04 05 06 07 08, build/c01/ex$e) \
 | |
|   $(foreach e, 00 01 02 03 04 05 06 07 08 09 10 11 12, build/c02/ex$e) \
 | |
| 
 | |
| all: norme $(all_builds)
 | |
| build: 
 | |
| 	mkdir $@
 | |
| clean:
 | |
| 	rm -rf build
 | |
| .PHONY: all norme clean
 | |
| 
 | |
| .SECONDEXPANSION:
 | |
| build/c%: $(OFFSHORE_PROJECTS)/c$$*/*.c $$(OFFSHORE_MAINS)/c$$*.c
 | |
| 	mkdir -p $(@D)
 | |
| 	$(CC) -o $@ $(CFLAGS_MANDATORY) $(CFLAGS) $^ 
 | |
| norme: $$(wildcard $(OFFSHORE_PROJECTS)/c*)
 | |
| 	norminette -R CheckForbiddenSourceHeader $^
 |