# Makefile for the minithreads src directory, and some public objects # in the lib directory. # This is a kludge so that -g will put enough of the path name in for GDB # to figure out where the .c file is: BASE = ../minithread CC = gcc INCLUDE = ../include LIB = ../lib OBJSPUB = $(LIB)/clock.o $(LIB)/switch.o $(LIB)/minithread_public.o $(LIB)/sys.o OBJSMINE = $(BASE)/minithread.o $(BASE)/synch.o $(BASE)/queue.o $(BASE)/my_malloc.o $(BASE)/spinlock.o OBJS = $(OBJSMINE) $(OBJSPUB) CFLAGS = -g -ansi all: $(LIB)/libmt.a $(OBJSPUB) # # The library containing the minithread implementation. # $(LIB)/libmt.a: $(OBJSMINE) ar -cr $@ $(OBJSMINE);ar ts $(LIB)/libmt.a .SUFFIXES: .c # specify how to compile the .c files .c.o: $(CC) $(CFLAGS) -I$(INCLUDE) -c $< # Library routines $(LIB)/minithread_public.o: $(BASE)/minithread_public.c $(CC) -o $(LIB)/minithread_public.o -c $(BASE)/minithread_public.c $(CFLAGS) -I$(INCLUDE) $(LIB)/sys.o: $(BASE)/sys.S $(CC) -o $(LIB)/sys.o -c $(BASE)/sys.S $(CFLAGS) -I$(INCLUDE) $(LIB)/switch.o: $(BASE)/switch.c $(CC) -o $(LIB)/switch.o -c $(BASE)/switch.c $(CFLAGS) -I$(INCLUDE) $(LIB)/clock.o: $(BASE)/clock.c $(CC) -o $(LIB)/clock.o -c $(BASE)/clock.c $(CFLAGS) -I$(INCLUDE) clean: rm -f core a.out *~ $(OBJSMINE) $(OBJSPUB) Makefile.bak $(LIB)/libmt.a clobber: depend: makedepend -- $(CFLAGS) -- -I$(INCLUDE) -- *.c # DO NOT DELETE THIS LINE -- make depend depends on it. clock.o: ../include/clock.h /usr/include/sys/time.h /usr/include/standards.h clock.o: /usr/include/sys/limits.h /usr/include/sys/types.h clock.o: /usr/include/sys/signal.h /usr/include/sys/machine/signal.h clock.o: /usr/include/sys/time.h /usr/include/signal.h /usr/include/stdio.h minithread.o: /usr/include/stdio.h /usr/include/standards.h minithread.o: /usr/include/stdlib.h ../include/my_malloc.h minithread.o: ../include/minithread.h ../include/minithread_public.h minithread.o: ../include/minithread_md.h ../include/clock.h minithread.o: /usr/include/sys/time.h /usr/include/sys/limits.h minithread.o: /usr/include/sys/types.h /usr/include/sys/signal.h minithread.o: /usr/include/sys/machine/signal.h /usr/include/sys/time.h minithread.o: /usr/include/signal.h ../include/queue.h ../include/panic.h minithread_public.o: /usr/include/stdio.h /usr/include/standards.h minithread_public.o: /usr/include/stdlib.h ../include/minithread_md.h minithread_public.o: ../include/minithread.h ../include/minithread_public.h my_malloc.o: /usr/include/stdio.h /usr/include/standards.h my_malloc.o: /usr/include/stdlib.h ../include/clock.h /usr/include/sys/time.h my_malloc.o: /usr/include/sys/limits.h /usr/include/sys/types.h my_malloc.o: /usr/include/sys/signal.h /usr/include/sys/machine/signal.h my_malloc.o: /usr/include/sys/time.h /usr/include/signal.h queue.o: ../include/queue.h ../include/my_malloc.h /usr/include/stdio.h queue.o: /usr/include/standards.h spinlock.o: /usr/include/stdio.h /usr/include/standards.h spinlock.o: ../include/minithread.h ../include/minithread_public.h spinlock.o: ../include/minithread_md.h switch.o: ../mipsi-include/main.h ../include/minithread.h switch.o: ../include/minithread_public.h ../include/minithread_md.h switch.o: /usr/include/setjmp.h /usr/include/standards.h switch.o: /usr/include/string.h /usr/include/sys/types.h synch.o: /usr/include/stdio.h /usr/include/standards.h ../include/my_malloc.h synch.o: ../include/minithread.h ../include/minithread_public.h synch.o: ../include/minithread_md.h ../include/minithread_export.h synch.o: ../include/queue.h ../include/synch.h ../include/spinlock.h