make the build system puuuuuuuuuuurty
diff --git a/libbb/Makefile.in b/libbb/Makefile.in
index b23e10b..3f33481 100644
--- a/libbb/Makefile.in
+++ b/libbb/Makefile.in
@@ -61,7 +61,7 @@
 	bb_dev_null.o bb_common_bufsiz1.o
 LIBBB_MOBJ0:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ0))
 $(LIBBB_MOBJ0):$(LIBBB_MSRC0)
-	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -o $@ -c $<
+	$(compile.c) -DL_$(notdir $*)
 
 LIBBB_MSRC1:=$(srcdir)/xfuncs.c
 LIBBB_MOBJ1:=xmalloc.o xrealloc.o xcalloc.o xstrdup.o xstrndup.o \
@@ -69,39 +69,39 @@
 	xferror.o xferror_stdout.o xfflush_stdout.o strlen.o
 LIBBB_MOBJ1:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ1))
 $(LIBBB_MOBJ1):$(LIBBB_MSRC1)
-	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -o $@ -c $<
+	$(compile.c) -DL_$(notdir $*)
 
 LIBBB_MSRC2:=$(srcdir)/printf.c
 LIBBB_MOBJ2:=bb_vfprintf.o bb_vprintf.o bb_fprintf.o bb_printf.o
 LIBBB_MOBJ2:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ2))
 $(LIBBB_MOBJ2):$(LIBBB_MSRC2)
-	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -o $@ -c $<
+	$(compile.c) -DL_$(notdir $*)
 
 LIBBB_MSRC3:=$(srcdir)/xgetularg.c
 LIBBB_MOBJ3:=xgetularg_bnd_sfx.o xgetlarg_bnd_sfx.o getlarg10_sfx.o \
 	xgetularg_bnd.o xgetularg10_bnd.o xgetularg10.o
 LIBBB_MOBJ3:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ3))
 $(LIBBB_MOBJ3):$(LIBBB_MSRC3)
-	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -o $@ -c $<
+	$(compile.c) -DL_$(notdir $*)
 
 LIBBB_MSRC4:=$(srcdir)/safe_strtol.c
 LIBBB_MOBJ4:=safe_strtoi.o safe_strtod.o safe_strtol.o safe_strtoul.o
 LIBBB_MOBJ4:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ4))
 $(LIBBB_MOBJ4):$(LIBBB_MSRC4)
-	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -o $@ -c $<
+	$(compile.c) -DL_$(notdir $*)
 
 LIBBB_MSRC5:=$(srcdir)/bb_pwd.c
 LIBBB_MOBJ5:=bb_xgetpwnam.o bb_xgetgrnam.o bb_getgrgid.o bb_getpwuid.o \
 	bb_getug.o get_ug_id.o
 LIBBB_MOBJ5:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ5))
 $(LIBBB_MOBJ5):$(LIBBB_MSRC5)
-	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -o $@ -c $<
+	$(compile.c) -DL_$(notdir $*)
 
 LIBBB_MSRC6:=$(srcdir)/llist.c
 LIBBB_MOBJ6:=llist_add_to.o llist_add_to_end.o llist_free_one.o llist_free.o
 LIBBB_MOBJ6:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ6))
 $(LIBBB_MOBJ6):$(LIBBB_MSRC6)
-	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -o $@ -c $<
+	$(compile.c) -DL_$(notdir $*)
 
 
 # We need the names of the object files built from MSRC for the L_ defines
@@ -131,8 +131,7 @@
 # all 1:1 objects
 LIBBB_OBJS:=$(patsubst $(srcdir)/%.c,$(LIBBB_DIR)/%.o, $(LIBBB-y))
 $(LIBBB_DIR)/%.o: $(srcdir)/%.c
-	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
-
+	$(compile.c)
 
 LIBBB_SRC-a:=$(wildcard $(srcdir)/*.c)
 LIBRARY_SRC-y+=$(LIBBB-y)
@@ -144,5 +143,4 @@
 LIBRARY_DEFINE-a+=$(LIBBB_DEFINE-y)
 
 $(LIBBB_AR): $(LIBBB_OBJS) $(LIBBB_ALL_MOBJ)
-	$(AR) $(ARFLAGS) $(@) $(^)
-
+	$(do_ar)