include config.mk SOURCE = readopt.c OBJECT = readopt.o all: $(STATIC) $(SHARED) %.o: %.c $(CC) -c $(CFLAGS) $< $(STATIC): $(OBJECT) $(AR) $@ $^ $(SHARED): $(OBJECT) $(CC) --shared $^ -o $@ install: staticinstall sharedinstall staticinstall: $(STATIC) $(MKDIR) $(DESTDIR)$(LIB) $(CP) $^ $(DESTDIR)$(LIB) $(MKDIR) $(DESTDIR)$(INCL) $(CP) $(HEADER) $(DESTDIR)$(INCL) sharedinstall: $(SHARED) $(MKDIR) $(DESTDIR)$(LIB) $(CP) $^ $(DESTDIR)$(LIB) $(MKDIR) $(DESTDIR)$(INCL) $(CP) $(HEADER) $(DESTDIR)$(INCL) clean: $(RM) $(OBJECT) $(STATIC) $(SHARED) format: clang-format -i -- $(SOURCE) $(HEADER) .PHONY: clean install staticinstall sharedinstall format