-SRCS = alloc.c backtrace.c breakpoint.c coreparse.c \
- dynbind.c globals.c interr.c interrupt.c \
- monitor.c parse.c print.c purify.c \
- regnames.c runtime.c save.c search.c \
- time.c validate.c vars.c \
- ${ARCH_SRC} ${ASSEM_SRC} ${OS_SRC} ${GC_SRC}
+COMMON_SRC = alloc.c backtrace.c breakpoint.c coreparse.c \
+ dynbind.c funcall.c gc-common.c globals.c interr.c interrupt.c \
+ largefile.c monitor.c os-common.c parse.c print.c purify.c \
+ pthread-futex.c pthread-lutex.c \
+ regnames.c run-program.c runtime.c save.c search.c \
+ thread.c time.c util.c validate.c vars.c wrap.c
+
+C_SRC = $(COMMON_SRC) ${ARCH_SRC} ${OS_SRC} ${GC_SRC}
+
+SRCS = $(C_SRC) ${ASSEM_SRC}
+
+OBJS = $(C_SRC:.c=.o) $(ASSEM_SRC:.S=.o) ${OS_OBJS}