# # Makefile for the mipsi-src directory. # # Invoking "make" will compile libmipsi.a into the ../lib # directory. # # Note that gcc needs -O2 for inline mem_address to work CFLAGS = -g -I$(INCLUDE1) -I$(INCLUDE2) -DKERN CC = cc # Endianness (BIGENDIAN, LITTLEENDIAN) ENDIAN = -DLITTLEENDIAN # System (ultrix, irix) SYSTEM = ultrix INCLUDE1 = ../include INCLUDE2 = ../mipsi-include LIB = ../lib # What to build. TARGET = $(LIB)/libmipsi.a # The object files composing the library. OBJS = read-aout.o run.o signals.o syscalls.o mem.o \ main.o utils.o print.o tlb.o disk.o .c.o: $(CC) $(CFLAGS) -c $< $(TARGET): $(OBJS) ar -cr $@ $(OBJS); ranlib $@ mem.o: mem.c $(INCLUDE2)/mem.h $(INCLUDE2)/main.h $(INCLUDE1)/mt_os.h utils.o: utils.c $(INCLUDE2)/main.h $(INCLUDE2)/mem.h $(INCLUDE1)/mt_os.h signals.o: signals.c $(INCLUDE2)/mem.h $(INCLUDE2)/main.h $(INCLUDE1)/mt_os.h tlb.o: tlb.c $(INCLUDE2)/mem.h $(INCLUDE2)/main.h $(INCLUDE1)/mt_os.h print.o: print.c $(INCLUDE2)/mem.h $(INCLUDE2)/main.h $(INCLUDE2)/inst.h $(INCLUDE1)/mt_os.h read_aout.o: read_aout.c $(INCLUDE2)/main.h $(INCLUDE2)/mem.h $(INCLUDE1)/mt_os.h syscalls.o: syscalls.c syscalls-${SYSTEM}.h $(INCLUDE2)/mem.h $(INCLUDE2)/main.h $(INCLUDE1)/mt_os.h $(CC) $(CFLAGS) -I. -DSYSCALLHEADER=\"syscalls-${SYSTEM}.h\" -DSYSCALLNOS=\"MIPS/syscall-${SYSTEM}.h\" -c syscalls.c syscalls-ultrix.h: calls-ultrix calls-template createsys calls-ultrix > syscalls-ultrix.h main.o: main.c $(INCLUDE2)/main.h # memaddr.c file is included in the header mem.h so inlining is possible # admittedly kludgy but the only way to get things to run fast with the linker # which does not do global optimizations. # mem.h: memaddr.c # touch mem.h clean: rm -f *.o *~ core $(TARGET) clobber: rm -f a.out mipsi multimipsi gmultimipsi syscalls-*.h profile: rm -f a.out make 'LFLAGS=-p' depend: makedepend -- $(CFLAGS) *.c # DO NOT DELETE THIS LINE -- make depend depends on it. disk.o: ../mipsi-include/main.h ../mipsi-include/mem.h ../include/disk.h disk.o: /usr/include/string.h ../include/tlb.h /usr/include/stdio.h disk.o: /usr/include/ansi_compat.h /usr/include/assert.h main.o: /usr/include/stdio.h /usr/include/ansi_compat.h /usr/include/stdlib.h main.o: /usr/include/string.h /usr/include/setjmp.h ../mipsi-include/config.h main.o: ../mipsi-include/main.h ../mipsi-include/mem.h main.o: ../include/minithread.h ../include/minithread_public.h main.o: ../include/minithread_md.h ../include/clock.h /usr/include/sys/time.h main.o: /usr/include/signal.h ../include/tas_patch.h ../include/disk.h main.o: /usr/include/assert.h mem.o: /usr/include/stdlib.h /usr/include/ansi_compat.h /usr/include/string.h mem.o: ../mipsi-include/config.h ../mipsi-include/main.h mem.o: ../mipsi-include/mem.h ../include/tlb.h ../include/mt_vm.h memaddr.c mem.o: ../include/mt_os.h memaddr.o: ../include/mt_os.h print.o: /usr/include/stdio.h /usr/include/ansi_compat.h print.o: ../mipsi-include/config.h ../mipsi-include/main.h print.o: ../mipsi-include/mem.h ../mipsi-include/inst.h read-aout.o: /usr/include/stdio.h /usr/include/ansi_compat.h read-aout.o: ../mipsi-include/MIPS/filehdr.h ../mipsi-include/MIPS/a.out.h read-aout.o: ../mipsi-include/config.h ../mipsi-include/main.h read-aout.o: ../mipsi-include/mem.h run.o: /usr/include/stdio.h /usr/include/ansi_compat.h /usr/include/math.h run.o: ../mipsi-include/MIPS/nan.h ../mipsi-include/config.h run.o: ../mipsi-include/main.h ../mipsi-include/mem.h ../mipsi-include/inst.h run.o: /usr/include/setjmp.h ../include/mt_vm.h ../include/tlb.h signals.o: /usr/include/assert.h ../mipsi-include/config.h signals.o: ../mipsi-include/main.h ../mipsi-include/mem.h signals.o: ../mipsi-include/MIPS/signal.h /usr/include/ansi_compat.h signals.o: /usr/include/setjmp.h syscalls.o: /usr/include/stdarg.h /usr/include/ansi_compat.h syscalls.o: ../mipsi-include/MIPS/sys/time.h syscalls.o: ../mipsi-include/MIPS/sys/types.h syscalls.o: ../mipsi-include/MIPS/ansi_compat.h syscalls.o: ../mipsi-include/MIPS/signal.h ../mipsi-include/config.h syscalls.o: ../mipsi-include/main.h ../mipsi-include/syscalls.h syscalls.o: ../mipsi-include/mem.h /usr/include/stdio.h syscalls.o: /usr/include/sys/types.h /usr/include/sys/stat.h tlb.o: /usr/include/stdio.h /usr/include/ansi_compat.h tlb.o: ../mipsi-include/config.h ../mipsi-include/main.h tlb.o: ../mipsi-include/mem.h ../include/tlb.h ../include/mt_os.h tlb.o: /usr/include/assert.h utils.o: /usr/include/stdio.h /usr/include/ansi_compat.h utils.o: /usr/include/stdlib.h /usr/include/string.h /usr/include/stdarg.h utils.o: /usr/include/setjmp.h ../mipsi-include/config.h utils.o: ../mipsi-include/main.h ../mipsi-include/mem.h