C: makefile rewritten, howamiused.c.
This commit is contained in:
parent
bb8cd3d410
commit
9aa63b19cb
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…
Reference in New Issue
Block a user