# Compilação geral

%.o: %.c
	gcc -c -o $@ $<


# Biblioteca estática

.PHONY: run-static

lib%.a: %.o
	ar rcs $@ $<

prog-static: prog.c libconta.a
	gcc -o $@ $^

run-static: prog-static
	./$<


# Biblioteca dinâmica

.PHONY: run-dynamic

lib%.so: %.o
	gcc -shared -o $@ $<

prog-dynamic: prog.c libconta.so
	gcc -o $@ $< -L. -lconta

run-dynamic: prog-dynamic
	LD_LIBRARY_PATH=. ./$<


# Limpeza

clean:
	rm -f prog-static prog-dynamic *.o *.a *.so
