owlps/common-rules.mk

33 lines
755 B
Makefile

# Cancel implicit make rule
%: %.c
% : %.o $(STATIC)
$(CC) $(STRIPFLAGS) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(DYNAMIC_LDFLAGS)
%.semistatic: %.o $(STATIC)
$(CC) $(STRIPFLAGS) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(SEMISTATIC_LDFLAGS)
$(STRIP) $@
%.static: %.o $(STATIC)
$(CC) $(STRIPFLAGS) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(STATIC_LDFLAGS) -static
$(STRIP) $@
%.o: %.c $(HEADER)
$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
%.a: %.o
$(RM) $@
$(AR) cru $@ $^
$(RANLIB) $@
%.so.$(LIBOWLPS_VERSION): %.o
$(CC) -shared -o $@ -Wl,-soname,$@ $(STRIPFLAGS) $(CFLAGS) $(LDFLAGS) $^
$(SYMLINK) $@ $(@:.$(LIBOWLPS_VERSION)=)
chmod a-x $@
clean:
@$(RM) *~ *.o *.d
purge: clean
@$(RM) $(DYNAMIC) *.so $(STATIC) $(EXAMPLE) $(TARGET) $(TARGET).static $(TARGET).semistatic