CC = gcc
CFLAGS = -std=c99 -Wall -D_POSIX_C_SOURCE=200809L -fPIC
LDFLAGS = -lpthread -lasound -shared
SOURCES = $(wildcard *.c)
OBJECTS = $(SOURCES:.c=.o)
EXECUTABLE = geiger.so
all: $(EXECUTABLE) demo_target/demo
%.o: %.c %.h
$(CC) -c $(CFLAGS) $< -o $@
$(EXECUTABLE): $(OBJECTS)
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
demo_target/demo: demo_target/main.c $(EXECUTABLE)
gcc -std=c11 $< -o $@
rundemo: demo_target/demo
LD_PRELOAD=./geiger.so demo_target/demo
.PHONY: clean all rundemo
clean:
rm -f *.o $(EXECUTABLE) demo_target/demo