L1OBJS=malloc.o free.o realloc.o utils.o garbage.o maccess.o calloc.o \
        memalign.o sbrk.o attach.o detach.o

L1CSRCS=$(srcdir)/l-malloc/malloc.c \
	$(srcdir)/l-malloc/free.c \
	$(srcdir)/l-malloc/realloc.c \
	$(srcdir)/l-malloc/utils.c \
	$(srcdir)/l-malloc/garbage.c \
	$(srcdir)/l-malloc/maccess.c \
	$(srcdir)/l-malloc/calloc.c \
	$(srcdir)/l-malloc/memalign.c \
	$(srcdir)/l-malloc/attach.c \
	$(srcdir)/l-malloc/detach.c \
	$(srcdir)/l-malloc/sbrk.c

$(L1OBJS):
	$(CC) -c $(ALL_CFLAGS) $(srcdir)/l-malloc/$*.c -o $@

$(L!OBJS:.o=.s):
	$(CC) -S $(ALL_CFLAGS) $(srcdir)/l-malloc/$*.c -o $@

CSRCS += $(L1CSRCS)

# dependency
malloc.s malloc.o: $(srcdir)/l-malloc/malloc.c $(srcdir)/l-malloc/malloc.h \
  $(srcdir)/define.h $(srcdir)/checker.h machine.h errlist.h chkr-string.h \
  $(srcdir)/lib/chkrlib.h bitops.h chkrsyscall.h
free.s free.o: $(srcdir)/l-malloc/free.c $(srcdir)/l-malloc/malloc.h \
  message.h $(srcdir)/define.h $(srcdir)/checker.h machine.h \
  $(srcdir)/lib/chkrlib.h chkr-string.h bitops.h errlist.h chkrsyscall.h
realloc.s realloc.o: $(srcdir)/l-malloc/realloc.c errlist.h \
  $(srcdir)/l-malloc/malloc.h $(srcdir)/define.h $(srcdir)/checker.h \
  machine.h $(srcdir)/lib/chkrlib.h chkr-string.h bitops.h chkrsyscall.h 
utils.s utils.o: $(srcdir)/l-malloc/utils.c $(srcdir)/l-malloc/malloc.h \
  errlist.h $(srcdir)/define.h $(srcdir)/checker.h machine.h \
  $(srcdir)/lib/chkrlib.h chkr-string.h bitops.h message.h chkrsyscall.h 
garbage.s garbage.o: $(srcdir)/l-malloc/garbage.c machine.h errlist.h \
  $(srcdir)/l-malloc/malloc.h $(srcdir)/define.h $(srcdir)/checker.h \
  $(srcdir)/lib/chkrlib.h chkr-string.h bitops.h message.h chkrsyscall.h
maccess.s maccess.o: $(srcdir)/l-malloc/maccess.c $(srcdir)/define.h \
  $(srcdir)/l-malloc/malloc.h $(srcdir)/checker.h machine.h chkr-string.h \
  $(srcdir)/lib/chkrlib.h bitops.h errlist.h message.h maccess.mes \
  $(srcdir)/l-malloc/macc-mmap.h chkrsyscall.h
calloc.s calloc.o: $(srcdir)/l-malloc/calloc.c $(srcdir)/l-malloc/malloc.h \
  $(srcdir)/define.h $(srcdir)/checker.h machine.h $(srcdir)/define.h \
  $(srcdir)/lib/chkrlib.h chkr-string.h bitops.h chkrsyscall.h
memalign.s memalign.o: $(srcdir)/l-malloc/memalign.c $(srcdir)/define.h \
  $(srcdir)/l-malloc/malloc.h $(srcdir)/checker.h machine.h chkr-string.h \
  $(srcdir)/lib/chkrlib.h bitops.h errlist.h message.h chkrsyscall.h
sbrk.s sbrk.o: $(srcdir)/l-malloc/sbrk.c $(srcdir)/l-malloc/malloc.h \
  $(srcdir)/define.h $(srcdir)/checker.h machine.h $(srcdir)/define.h \
  $(srcdir)/lib/chkrlib.h chkr-string.h bitops.h errlist.h chkrsyscall.h
attach.s attach.o: $(srcdir)/l-malloc/attach.c $(srcdir)/l-malloc/malloc.h \
  $(srcdir)/define.h $(srcdir)/checker.h machine.h $(srcdir)/lib/chkrlib.h \
  chkr-string.h bitops.h errlist.h chkrsyscall.h
detach.s detach.o: $(srcdir)/l-malloc/detach.c $(srcdir)/l-malloc/malloc.h \
  $(srcdir)/define.h $(srcdir)/checker.h machine.h $(srcdir)/lib/chkrlib.h \
  chkr-string.h bitops.h errlist.h chkrsyscall.h
