Update Makefile Andrin
This commit is contained in:
		
							parent
							
								
									04b3b86afb
								
							
						
					
					
						commit
						4627d6994a
					
				| 
						 | 
					@ -1,25 +1,67 @@
 | 
				
			||||||
SNP_SHARED_MAKEFILE := $(if $(SNP_SHARED_MAKEFILE),$(SNP_SHARED_MAKEFILE),"~/snp/shared.mk")
 | 
					SNP_SHARED_MAKEFILE := $(if $(SNP_SHARED_MAKEFILE),$(SNP_SHARED_MAKEFILE),"~/snp/shared.mk")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TARGET := bin/triangle
 | 
					TARGET := bin/dep2dot
 | 
				
			||||||
SOURCES := src/triangle.c src/read.c src/rectang.c
 | 
					# Add all additional c-files to the SOURCES variable
 | 
				
			||||||
 | 
					# BEGIN-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
 | 
					SOURCES := src/main.c src/data.c src/output.c
 | 
				
			||||||
 | 
					# END-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
TSTSOURCES := tests/tests.c
 | 
					TSTSOURCES := tests/tests.c
 | 
				
			||||||
LIBS := -lm
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
include $(SNP_SHARED_MAKEFILE)
 | 
					include $(SNP_SHARED_MAKEFILE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
all: modul
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
modul: triangle.o read.o rectang.o
 | 
					# DEPFILES := ... define a list of png file names: %.c -> %.c.png
 | 
				
			||||||
gcc -o modul src/triangle.o src/read.o src/rectang.o
 | 
					# BEGIN-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
 | 
					DEPFILES := $(SOURCES:%.c=%.c.png)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
clean:
 | 
					# END-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
rm -f *.o modul
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
triangle.o: src/triangle.c Makefile
 | 
					 | 
				
			||||||
gcc -c src/triangle.c
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
read.o: src/read.c src/read.h Makefile
 | 
					 | 
				
			||||||
gcc -c src/read.c
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
rectang.o: src/rectang.c src/rectang.h Makefile
 | 
					# define dep target as .PHONEY
 | 
				
			||||||
gcc -c src/rectang.c
 | 
					# BEGIN-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
 | 
					.PHONEY: dep
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BEGIN-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# define dep target depending on FULLTARGET and DEPFILES above
 | 
				
			||||||
 | 
					# action: echo some text telling that the target is done using $@ - the echo command shall not be echoed before execution
 | 
				
			||||||
 | 
					# BEGIN-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
 | 
					dep: $(DEPFILES) $(FULLTARGET)
 | 
				
			||||||
 | 
					echo $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BEGIN-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# define new suffix rule for %.png depending on %.dot
 | 
				
			||||||
 | 
					# action: dot -Tpng $< >$@ || $(RM) $@
 | 
				
			||||||
 | 
					# BEGIN-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
 | 
					%.png: %.dot
 | 
				
			||||||
 | 
					dot -Tpng $< >$@ || $(RM) $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BEGIN-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# define new suffix rule for %.dot depending on %.dep
 | 
				
			||||||
 | 
					# action: call $(TARGET) $(@:.dot=) <$< >$@ || $(RM) $@
 | 
				
			||||||
 | 
					# BEGIN-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
 | 
					%.dot: %.dep
 | 
				
			||||||
 | 
					call $(TARGET) $(@:.dot=) <$< >$@ || $(RM) $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BEGIN-STUDENTS-TO-ADD-CODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# converts any .c file into a .c.dep file by means of GCC -H switch
 | 
				
			||||||
 | 
					# note: it removes intermediate files which were created as side effect
 | 
				
			||||||
 | 
					%.c.dep: %.c
 | 
				
			||||||
 | 
					$(COMPILE.c) -H -o $@.x $< 2>$@ && $(RM) $@.x $@.d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# cleanup all results, including the ones od creating the dependencies
 | 
				
			||||||
 | 
					dep-clean: clean
 | 
				
			||||||
 | 
					$(RM) $(DEPFILES) $(wildcard src/*.dep src/*.dot)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue