C: makefile rewritten, howamiused.c.
This commit is contained in:
		
							parent
							
								
									bb8cd3d410
								
							
						
					
					
						commit
						9aa63b19cb
					
				
					 2 changed files with 53 additions and 22 deletions
				
			
		
							
								
								
									
										32
									
								
								c/Makefile
									
										
									
									
									
								
							
							
						
						
									
										32
									
								
								c/Makefile
									
										
									
									
									
								
							| 
						 | 
					@ -1,33 +1,21 @@
 | 
				
			||||||
#SOURCE= vlc
 | 
					# Directory to store compiled binaries.
 | 
				
			||||||
#CFLAGS=$(shell pkg-config --libs vlc)
 | 
					BINDIR ?= /tmp/bin/
 | 
				
			||||||
#
 | 
					 | 
				
			||||||
#all: compilationvlc
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
#compilationvlc:
 | 
					 | 
				
			||||||
#	$(CC) $(SOURCE).c -o $(SOURCE) $(CFLAGS)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
CC=clang
 | 
					CC=clang
 | 
				
			||||||
CFLAGS=-c -Wall -g
 | 
					CFLAGS=-c -Wall -g
 | 
				
			||||||
LDFLAGS=
 | 
					LDFLAGS=
 | 
				
			||||||
CFILES=$(wildcard *.c) # CFILES => recompiles everything on a C file change
 | 
					 | 
				
			||||||
EXEC=$(basename $(wildcard *.c))
 | 
					 | 
				
			||||||
#SOURCES=$(wildcard *.c)
 | 
					 | 
				
			||||||
TESTS=$(addsuffix .test, $(EXEC))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
all: $(SOURCES) $(EXEC)
 | 
					CFILES=$(wildcard *.c)
 | 
				
			||||||
 | 
					EXEC=$(patsubst %.c,$(BINDIR)%,$(CFILES))
 | 
				
			||||||
 | 
					TESTS=$(addsuffix .test, $(patsubst %.c,%,$(CFILES)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(EXEC): $(CFILES)
 | 
					all: $(BINDIR) $(EXEC)
 | 
				
			||||||
	$(CC) $(LDFLAGS) $@.c -o $@
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.c.o:
 | 
					$(BINDIR):;         -mkdir -p $(BINDIR)
 | 
				
			||||||
	$(CC) $(CFLAGS) $< -o $@
 | 
					$(EXEC): $(CFILES); $(CC) $(LDFLAGS) $< -o $@
 | 
				
			||||||
 | 
					clean:;             @-rm $(EXEC)
 | 
				
			||||||
clean:
 | 
					 | 
				
			||||||
	@-rm $(EXEC)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# to test a binary "prog" : make prog.test
 | 
					# to test a binary "prog" : make prog.test
 | 
				
			||||||
 | 
					$(TESTS):; valgrind --leak-check=full -v --track-origins=yes $(BINDIR)$(basename $@)
 | 
				
			||||||
$(TESTS):
 | 
					 | 
				
			||||||
	valgrind --leak-check=full -v --track-origins=yes ./$(basename $@)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
test: all $(TESTS)
 | 
					test: all $(TESTS)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										43
									
								
								c/howamiused.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								c/howamiused.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,43 @@
 | 
				
			||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#include <unistd.h>
 | 
				
			||||||
 | 
					#include <fcntl.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TMPDIR "/tmp/"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// When invoked, this application writes its input, parameters and
 | 
				
			||||||
 | 
					// environment variables in differents files: last-(input|parameters|env) in TMPDIR.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Useful for debugging purposes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main(int argc, char **argv, char **env) {
 | 
				
			||||||
 | 
						int fd = open(TMPDIR "last-input", O_APPEND | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
 | 
				
			||||||
 | 
						if (fd < 0) { return -1; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						size_t nb = 0;
 | 
				
			||||||
 | 
						char buffer[BUFSIZ];
 | 
				
			||||||
 | 
						while((nb = read(0, buffer, BUFSIZ-1))) {
 | 
				
			||||||
 | 
							dprintf(fd, "%*s", (int)nb, buffer);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						close(fd);
 | 
				
			||||||
 | 
						fd = open(TMPDIR "last-parameters", O_APPEND | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
 | 
				
			||||||
 | 
						if (fd < 0) { return -1; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (size_t i = 0 ; i < argc ; i++) {
 | 
				
			||||||
 | 
							dprintf(fd, "%s\n", argv[i]);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						close(fd);
 | 
				
			||||||
 | 
						fd = open(TMPDIR "last-env", O_APPEND | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
 | 
				
			||||||
 | 
						if (fd < 0) { return -1; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						while (env[0] != NULL) {
 | 
				
			||||||
 | 
							dprintf(fd, "%s\n", env[0]);
 | 
				
			||||||
 | 
							printf("env: %s\n", env[0]);
 | 
				
			||||||
 | 
							env++;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						close(fd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue