summaryrefslogtreecommitdiff
path: root/libc/bcc/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'libc/bcc/Makefile')
-rw-r--r--libc/bcc/Makefile49
1 files changed, 31 insertions, 18 deletions
diff --git a/libc/bcc/Makefile b/libc/bcc/Makefile
index 991b50e..f4cce3d 100644
--- a/libc/bcc/Makefile
+++ b/libc/bcc/Makefile
@@ -2,10 +2,6 @@
# This file is part of the Linux-8086 C library and is distributed
# under the GNU Library General Public License.
-TOP=..
-include $(TOP)/Make.defs
-CFLAGS=$(CCFLAGS)
-
# Support for integer arithmetic
ifeq ($(LIB_CPU),i86)
IOBJ=__idiv.o __idivu.o __imod.o __imodu.o __imul.o __isl.o __isr.o __isru.o
@@ -49,26 +45,43 @@ endif
OLDOBJ=$(ROBJ) $(POBJ)
-all: $(OBJ)
+CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS)
+
+ifneq ($(OBJ),)
-$(IOBJ): $(ISRC)
- $(CC) $(CFLAGS) -c -DL_$* -o $@ $(ISRC)
+all: $(LIBC)
+ @:
-$(LOBJ): $(LSRC)
- $(CC) $(CFLAGS) -c -DL_$* -o $@ $(LSRC)
+$(LIBC): $(LIBC)($(OBJ))
-$(AOBJ): $(ASRC)
- $(CC) $(CFLAGS) -c -DL_$* -o $@ $(ASRC)
+$(LIBC)($(IOBJ)): $(ISRC)
+ $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+ $(AR) $(ARFLAGS) $@ $*.o
+ $(RM) $*.o
-$(ROBJ): $(RSRC)
- $(CC) $(CFLAGS) -c -DL_$* -o $@ $(RSRC)
+$(LIBC)($(LOBJ)): $(LSRC)
+ $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+ $(AR) $(ARFLAGS) $@ $*.o
+ $(RM) $*.o
-$(POBJ): $(PSRC)
- $(CC) $(CFLAGS) -c -DL_$* -o $@ $(PSRC)
+$(LIBC)($(AOBJ)): $(ASRC)
+ $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+ $(AR) $(ARFLAGS) $@ $*.o
+ $(RM) $*.o
-libc.a: $(OBJ)
- ar r ../$(LIBC) $(OBJ)
- @touch libc.a
+$(LIBC)($(ROBJ)): $(RSRC)
+ $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+ $(AR) $(ARFLAGS) $@ $*.o
+ $(RM) $*.o
+
+$(LIBC)($(POBJ)): $(PSRC)
+ $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+ $(AR) $(ARFLAGS) $@ $*.o
+ $(RM) $*.o
+else
+all:
+ @:
+endif
clean:
rm -f *.o libc.a