all: echo "first 'make sources', then 'make -j compile' N=200 clean: rm -f file_*.o lib.so mrproper: rm -f file_*.c file_*.o lib.so sources: clean for (( I=0 ; $$I < $(N) ; I=`expr $$I + 1` )) ; do \ echo $$I; \ echo "char array_$$I [] = " >file_$$I.c ;\ dd if=/dev/urandom bs=256k count=1 | base64 | sed 's/^.*/"\0"/g' >>file_$$I.c ;\ echo ";" >>file_$$I.c ;\ done OBJ = $(addsuffix .o, $(basename $(notdir $(wildcard file_*.c)))) compile: $(OBJ) gcc -shared -O3 -o lib.so $(OBJ) %.o: ./%.c gcc -O3 -c $< -o $@