diff -Naur dev86-0.16.18/libc/bcc/Makefile dev86-0.16.18.new/libc/bcc/Makefile
--- dev86-0.16.18/libc/bcc/Makefile	1997-03-08 21:08:42.000000000 +0100
+++ dev86-0.16.18.new/libc/bcc/Makefile	2012-06-11 10:52:47.000000000 +0200
@@ -52,27 +52,27 @@
 all: $(LIBC)
 	@$(RM) $(OBJ)

-$(LIBC): $(LIBC)($(OBJ))
+$(LIBC): $(OBJ)

-$(LIBC)($(IOBJ)): $(ISRC)
+$(IOBJ): $(ISRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(LOBJ)): $(LSRC)
+$(LOBJ): $(LSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(AOBJ)): $(ASRC)
+$(AOBJ): $(ASRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(ROBJ)): $(RSRC)
+$(ROBJ): $(RSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(POBJ)): $(PSRC)
+$(POBJ): $(PSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
 else
 all:
 	@:
diff -Naur dev86-0.16.18/libc/bios/Makefile dev86-0.16.18.new/libc/bios/Makefile
--- dev86-0.16.18/libc/bios/Makefile	2003-07-31 20:33:02.000000000 +0200
+++ dev86-0.16.18.new/libc/bios/Makefile	2012-06-11 10:04:02.000000000 +0200
@@ -17,29 +17,33 @@
 DSRC=bios_disk.c
 DOBJ=bios_disk_rd.o bios_disk_wr.o bios_disk_rs.o bios_get_dpt.o

-OBJ=$(AOBJ) $(BOBJ) $(COBJ) $(DOBJ) \
-    time.o fileops.o fs_dos.o rawio.o vt52.o ansi.o
+_OBJ=time.o fileops.o fs_dos.o rawio.o vt52.o ansi.o
+OBJ=$(AOBJ) $(BOBJ) $(COBJ) $(DOBJ) $(_OBJ)

 CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS)

-all: $(LIBC)($(OBJ))
+all: $(OBJ)
 	@$(RM) $(OBJ)

-$(LIBC)($(AOBJ)): $(ASRC)
+$(_OBJ):
+	$(CC) $(CFLAGS) $*.c -c -o $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
+
+$(AOBJ): $(ASRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(BOBJ)): $(BSRC)
+$(BOBJ): $(BSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(COBJ)): $(CSRC)
+$(COBJ): $(CSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(DOBJ)): $(DSRC)
+$(DOBJ): $(DSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
 else
 all:
 	@:
diff -Naur dev86-0.16.18/libc/conio/Makefile dev86-0.16.18.new/libc/conio/Makefile
--- dev86-0.16.18/libc/conio/Makefile	2002-03-16 15:43:36.000000000 +0100
+++ dev86-0.16.18.new/libc/conio/Makefile	2012-06-11 10:05:44.000000000 +0200
@@ -11,7 +11,7 @@
 CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS)

 ifeq ($(LIB_CPU)-$(LIB_OS),i86-BIOS)
-all: $(LIBC)($(BIOSOBJ))
+all: $(BIOSOBJ)
 	@$(RM) $(BIOSOBJ)
 else
 ifeq ($(LIB_CPU)-$(LIB_OS),i86-DOS)
@@ -23,17 +23,17 @@
 endif
 endif

-$(LIBC)($(AOBJ)): $(ASRC)
+$(AOBJ): $(ASRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(BOBJ)): $(BSRC)
+$(BOBJ): $(BSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)(cprintf.o): cprintf.c
+cprintf.o: cprintf.c
 	$(CC) -c -ansi $(ARCH) $(CCFLAGS) $(DEFS) $*.c
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

 clean:
 	rm -f *.o libc.a
diff -Naur dev86-0.16.18/libc/error/Makefile dev86-0.16.18.new/libc/error/Makefile
--- dev86-0.16.18/libc/error/Makefile	2004-06-21 09:12:31.000000000 +0200
+++ dev86-0.16.18.new/libc/error/Makefile	2012-06-11 10:06:59.000000000 +0200
@@ -16,13 +16,17 @@
 OBJ=__assert.o
 endif

-all: $(LIBC)($(OBJ))
+all: $(OBJ)
 	@$(RM) $(OBJ)

 clean:
 	rm -f *.o libc.a error_list.h

-$(LIBC)(error2.o): error_list.h
+$(OBJ):
+	$(CC) $(CFLAGS) -c -o $*.o $*.c
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
+
+error2.o: error_list.h

 error_list.h: liberror.txt
 	sh mktab.sh
diff -Naur dev86-0.16.18/libc/getent/Makefile dev86-0.16.18.new/libc/getent/Makefile
--- dev86-0.16.18/libc/getent/Makefile	1997-03-08 21:11:45.000000000 +0100
+++ dev86-0.16.18.new/libc/getent/Makefile	2012-06-11 10:08:20.000000000 +0200
@@ -21,10 +21,14 @@

 OBJ=$(POBJ) $(GOBJ) $(UOBJ)

-all: $(LIBC)($(OBJ))
+all: $(OBJ)
 	@$(RM) $(OBJ)

-$(LIBC)($(GOBJ)): config-grp.h
+$(OBJ):
+	$(CC) $(CFLAGS) -c -o $*.o $*.c
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
+
+$(GOBJ): config-grp.h

 else
 all:
diff -Naur dev86-0.16.18/libc/gtermcap/Makefile dev86-0.16.18.new/libc/gtermcap/Makefile
--- dev86-0.16.18/libc/gtermcap/Makefile	1997-03-08 21:12:00.000000000 +0100
+++ dev86-0.16.18.new/libc/gtermcap/Makefile	2012-06-11 10:09:00.000000000 +0200
@@ -7,13 +7,18 @@
 ifeq ($(LIB_OS),ELKS)
 OBJ=termcap.o tparam.o

-all: $(LIBC)($(OBJ))
+all: $(OBJ)
 	@$(RM) $(OBJ)
 else
 all:
 	@:
 endif

+$(OBJ):
+	$(CC) $(CFLAGS) -c -o $*.o $*.c
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
+
+
 clean:
 	rm -f *.o libc.a

diff -Naur dev86-0.16.18/libc/i386sys/Makefile dev86-0.16.18.new/libc/i386sys/Makefile
--- dev86-0.16.18/libc/i386sys/Makefile	2010-10-23 14:24:02.000000000 +0200
+++ dev86-0.16.18.new/libc/i386sys/Makefile	2012-06-11 10:11:52.000000000 +0200
@@ -12,12 +12,13 @@
 DOBJ=opendir.o closedir.o readdir.o

 ifeq ($(LIB_CPU)-$(LIB_OS),i386-ELKS)
-OBJ=$(LOBJ) $(EOBJ) $(DOBJ) setjmp3.o
+_OBJ=setjmp3.o
+OBJ=$(LOBJ3) $(LOBJ) $(EOBJ) $(DOBJ) $(_OBJ)
 SYSCALLS=syscalls

 CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS)

-all: $(SYSCALLS) $(LIBC)($(OBJ))
+all: $(SYSCALLS) $(OBJ)
 	@$(RM) $(OBJ)

 syscalls: syscall.mak
@@ -26,17 +27,21 @@
 syscall.mak: mksyscall syscall.dat
 	sh mksyscall

-$(LIBC)($(LOBJ)): $(LSRC)
+$(_OBJ):
+	$(CC) $(CFLAGS) $*.c -c -o $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
+
+$(LOBJ): $(LSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(DOBJ)): $(DSRC)
+$(DOBJ): $(DSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(EOBJ)): $(ESRC)
+$(EOBJ): $(ESRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
 else
 all:
 	@:
diff -Naur dev86-0.16.18/libc/i386sys/mksyscall dev86-0.16.18.new/libc/i386sys/mksyscall
--- dev86-0.16.18/libc/i386sys/mksyscall	1997-03-08 21:20:56.000000000 +0100
+++ dev86-0.16.18.new/libc/i386sys/mksyscall	2012-06-11 10:13:18.000000000 +0200
@@ -131,12 +131,12 @@

 CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS)

-all: $(LIBC)($(OBJ))
+all: $(OBJ)
 	@$(RM) $(OBJ)

-$(LIBC)($(OBJ)): syscall.dat
+$(OBJ): syscall.dat
 	$(CC) $(CFLAGS) -DL_$* syscall.c -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
 !

 exit $?
diff -Naur dev86-0.16.18/libc/malloc/Makefile dev86-0.16.18.new/libc/malloc/Makefile
--- dev86-0.16.18/libc/malloc/Makefile	2003-01-29 20:40:41.000000000 +0100
+++ dev86-0.16.18.new/libc/malloc/Makefile	2012-06-11 10:13:47.000000000 +0200
@@ -7,12 +7,12 @@

 CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS)

-all: $(LIBC)($(AOBJ))
+all: $(AOBJ)
 	@$(RM) $(OBJ)

-$(LIBC)($(AOBJ)): $(ASRC)
+$(AOBJ): $(ASRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

 clean:
 	rm -f *.o libc.a ../include/malloc.h
diff -Naur dev86-0.16.18/libc/misc/Makefile dev86-0.16.18.new/libc/misc/Makefile
--- dev86-0.16.18/libc/misc/Makefile	2004-06-20 19:19:42.000000000 +0200
+++ dev86-0.16.18.new/libc/misc/Makefile	2012-06-11 10:16:56.000000000 +0200
@@ -35,31 +35,39 @@
 all: $(LIBC)
 	@$(RM) $(OBJ)

-$(LIBC): $(LIBC)($(OBJ))
+$(LIBC): $(OBJ)

-$(LIBC)($(MOBJ)): $(MSRC)
+$(GOBJ): $(GSRC)
+	$(CC) $(CFLAGS) $*.c -c -o $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
+
+$(UOBJ): $(USRC)
+	$(CC) $(CFLAGS) $*.c -c -o $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
+
+$(MOBJ): $(MSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(EOBJ)): $(ESRC)
+$(EOBJ): $(ESRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(SOBJ)): $(SSRC)
+$(SOBJ): $(SSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

 clean:
 	rm -f *.o libc.a

-$(LIBC)(strtol.o): strtol.c
+strtol.o: strtol.c
 	$(CC) -c -ansi $(ARCH) $(CCFLAGS) $(DEFS) $*.c
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)(strtod.o): strtod.c
+strtod.o: strtod.c
 	$(CC) -c -ansi $(ARCH) $(CCFLAGS) $(DEFS) $*.c
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)(crypt.o): crypt.c
+crypt.o: crypt.c
 	$(CC) -c -ansi $(ARCH) $(CCFLAGS) $(DEFS) $*.c
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
diff -Naur dev86-0.16.18/libc/msdos/Makefile dev86-0.16.18.new/libc/msdos/Makefile
--- dev86-0.16.18/libc/msdos/Makefile	1999-03-10 19:03:04.000000000 +0100
+++ dev86-0.16.18.new/libc/msdos/Makefile	2012-06-11 10:18:23.000000000 +0200
@@ -25,15 +25,15 @@
 all: $(LIBC)
 	@$(RM) $(OBJ)

-$(LIBC): $(LIBC)($(OBJ))
+$(LIBC): $(OBJ)

-$(LIBC)($(AOBJ)): $(ASRC)
+$(AOBJ): $(ASRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(BOBJ)): $(BSRC)
+$(BOBJ): $(BSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
 else
 all:
 	@:
diff -Naur dev86-0.16.18/libc/regexp/Makefile dev86-0.16.18.new/libc/regexp/Makefile
--- dev86-0.16.18/libc/regexp/Makefile	2003-01-29 20:41:07.000000000 +0100
+++ dev86-0.16.18.new/libc/regexp/Makefile	2012-06-11 10:19:18.000000000 +0200
@@ -7,19 +7,19 @@
 all: $(LIBC)
 	@$(RM) $(OBJ)

-$(LIBC): $(LIBC)($(OBJ))
+$(LIBC): $(OBJ)

 transfer:
 	-@rm -f ../include/regexp.h ../include/regmagic.h
 	cp -p regexp.h regmagic.h ../include/.

-$(LIBC)(regexp.o):	regexp.c regexp.h regmagic.h
+regexp.o:	regexp.c regexp.h regmagic.h
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)(regsub.o):	regsub.c regexp.h regmagic.h
+regsub.o:	regsub.c regexp.h regmagic.h
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

 clean:
 	rm -f libc.a *.o core mon.out timer.t.h dMakefile dtr try timer
diff -Naur dev86-0.16.18/libc/stdio/Makefile dev86-0.16.18.new/libc/stdio/Makefile
--- dev86-0.16.18/libc/stdio/Makefile	2005-01-23 14:09:11.000000000 +0100
+++ dev86-0.16.18.new/libc/stdio/Makefile	2012-06-11 10:20:46.000000000 +0200
@@ -24,19 +24,19 @@
 all: $(LIBC)
 	@$(RM) $(OBJ)

-$(LIBC): $(LIBC)($(OBJ))
+$(LIBC): $(OBJ)

-$(LIBC)($(AOBJ)): $(ASRC)
+$(AOBJ): $(ASRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(POBJ)): $(PSRC)
+$(POBJ): $(PSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(SOBJ)): $(SSRC)
+$(SOBJ): $(SSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

 transfer:
 	-@rm -f ../include/stdio.h
diff -Naur dev86-0.16.18/libc/string/Makefile dev86-0.16.18.new/libc/string/Makefile
--- dev86-0.16.18/libc/string/Makefile	2003-01-29 20:41:21.000000000 +0100
+++ dev86-0.16.18.new/libc/string/Makefile	2012-06-11 10:23:24.000000000 +0200
@@ -7,19 +7,25 @@
     strchr.o strrchr.o strdup.o memcpy.o memccpy.o memchr.o memset.o	\
     memcmp.o memmove.o movedata.o

-OBJ=$(SOBJ) strpbrk.o strsep.o strstr.o strtok.o strcspn.o	\
-    strspn.o strcasecmp.o strncasecmp.o
+_OBJ=strpbrk.o strsep.o strstr.o strtok.o strcspn.o	\
+     strspn.o strcasecmp.o strncasecmp.o
+
+OBJ=$(SOBJ) $(_OBJ)

 CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS)

 all: $(LIBC)
 	@$(RM) $(OBJ)

-$(LIBC): $(LIBC)($(OBJ))
+$(LIBC): $(OBJ)

-$(LIBC)($(SOBJ)): $(SSRC)
+$(_OBJ):
+	$(CC) $(CFLAGS) $*.c -c -o $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
+
+$(SOBJ): $(SSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

 transfer:
 	-@rm -f ../include/string.h
diff -Naur dev86-0.16.18/libc/syscall/Makefile dev86-0.16.18.new/libc/syscall/Makefile
--- dev86-0.16.18/libc/syscall/Makefile	1997-10-18 11:57:48.000000000 +0200
+++ dev86-0.16.18.new/libc/syscall/Makefile	2012-06-11 10:25:47.000000000 +0200
@@ -13,12 +13,14 @@
 DOBJ=opendir.o closedir.o readdir.o

 ifeq ($(LIB_CPU)-$(LIB_OS),i86-ELKS)
-OBJ=$(LOBJ) $(DOBJ) $(EOBJ) signal.o setjmp.o
+_OBJ=signal.o setjmp.o
+OBJ=$(LOBJ) $(DOBJ) $(EOBJ) $(_OBJ)
 SYSCALLS=call_i86
 endif

 ifeq ($(SYSCALLS),)
-OBJ=setjmp.o
+_OBJ=setjmp.o
+OBJ=$(_OBJ)
 endif

 CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS)
@@ -35,19 +37,23 @@
 syscall.dat:
 	@touch syscall.dat

-$(LIBC): $(LIBC)($(OBJ))
+$(LIBC): $(OBJ)

-$(LIBC)($(LOBJ)): $(LSRC)
+$(_OBJ):
+	$(CC) $(CFLAGS) $*.c -c -o $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
+
+$(LOBJ): $(LSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(DOBJ)): $(DSRC)
+$(DOBJ): $(DSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

-$(LIBC)($(EOBJ)): $(ESRC)
+$(EOBJ): $(ESRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

 clean:
 	rm -f *.o libc.a
diff -Naur dev86-0.16.18/libc/syscall/mksyscall dev86-0.16.18.new/libc/syscall/mksyscall
--- dev86-0.16.18/libc/syscall/mksyscall	1997-10-18 11:45:30.000000000 +0200
+++ dev86-0.16.18.new/libc/syscall/mksyscall	2012-06-11 10:26:50.000000000 +0200
@@ -288,12 +288,12 @@

 cat >> syscall.mak <<\!

-all: $(LIBC)($(OBJ))
+all: $(OBJ)
 	@$(RM) $(OBJ)

-$(LIBC)($(OBJ)): syscall.dat
+$(OBJ): syscall.dat
 	$(CC) $(CFLAGS) -DL_$* syscall.c -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
 !

 exit $?
diff -Naur dev86-0.16.18/libc/termios/Makefile dev86-0.16.18.new/libc/termios/Makefile
--- dev86-0.16.18/libc/termios/Makefile	1997-03-08 21:17:09.000000000 +0100
+++ dev86-0.16.18.new/libc/termios/Makefile	2012-06-11 10:28:01.000000000 +0200
@@ -8,18 +8,23 @@
      cfgetospeed.o cfgetispeed.o cfsetospeed.o cfsetispeed.o cfmakeraw.o

 ifeq ($(LIB_OS),ELKS)
-OBJ=$(TOBJ) ttyname.o
+_OBJ=ttyname.o
+OBJ=$(TOBJ) $(_OBJ)

 CFLAGS=$(ARCH) $(CCFLAGS) $(DEFS)

 all: $(LIBC)
 	@$(RM) $(OBJ)

-$(LIBC): $(LIBC)($(OBJ))
+$(LIBC): $(OBJ)

-$(LIBC)($(TOBJ)): $(TSRC)
+$(_OBJ):
+	$(CC) $(CFLAGS) $*.c -c -o $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
+
+$(TOBJ): $(TSRC)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-	$(AR) $(ARFLAGS) $@ $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o
 else
 all:
 	@:
diff -Naur dev86-0.16.18/libc/time/Makefile dev86-0.16.18.new/libc/time/Makefile
--- dev86-0.16.18/libc/time/Makefile	1997-03-08 21:17:21.000000000 +0100
+++ dev86-0.16.18.new/libc/time/Makefile	2012-06-11 10:28:53.000000000 +0200
@@ -9,7 +9,11 @@
 all: $(LIBC)
 	@$(RM) $(OBJ)

-$(LIBC): $(LIBC)($(OBJ))
+$(LIBC): $(OBJ)
+
+$(OBJ):
+	$(CC) $(CFLAGS) $*.c -c -o $*.o
+	$(AR) $(ARFLAGS) $(LIBC) $*.o

 clean:
 	rm -f *.o libc.a
