home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume44 / toy_os / part04 / Makefile < prev    next >
Makefile  |  1994-09-05  |  1KB  |  55 lines

  1. CC=./c++ 
  2. CCL=./c++l
  3. .SUFFIXES: .cc
  4. LIBMOD=mult_proc.cc cpu.cc memory.cc cpu_manager.cc processes.cc \
  5.        sysqueues.cc semaphores.cc page_manager.cc mem_manager.cc \
  6.        channel.cc io_requests.cc io_manager.cc
  7.  
  8.  
  9. #    Rules
  10. .cc.o:
  11.     $(CC) -O0 -fcaller-saves -fvolatile $*.cc
  12.  
  13. .o:    $*.o
  14.     $(CCL) $*.o -o $*
  15.     ./$*
  16.  
  17. .cc:     $*.cc
  18.     $(CC) $*.cc
  19.     $(CCL) $*.o -o $*
  20.     ./$*
  21.  
  22. # Primary goal
  23.  
  24. bootstrap: bootstrap.o 
  25.     $(CCL) bootstrap.o kernel.a oslib -o vm_unt
  26. #    vm_unt three.1.dat
  27. #    vm_unt three.2.dat
  28. #    vm_unt three.3.dat
  29. #    vm_unt three.4.dat
  30. #    vm_unt four.1.dat
  31. #    vm_unt four.2.dat
  32. #    vm_unt four.3.dat
  33. #    vm_unt four.123.dat
  34.     vm_unt -card=card_file -lp=print_file -harddisk=hdisk five.ld
  35.  
  36. # Library
  37.  
  38. lib:    kernel.a
  39.  
  40. kernel.a:    $(LIBMOD)
  41. #             Compile the source files that have been changed 
  42.     $(CC) -O0 $?
  43.     listobj=`echo $? | sed s/.cc/.o/g` ; \
  44.     ar rv kernel.a $$listobj &&    \
  45.     rm $$listobj
  46.     (ar d kernel.a __.SYMDEF && ranlib kernel.a)
  47.  
  48. # Specific dependent goals
  49.  
  50. mult_proc.o:    mult_proc.cc mult_proc.h
  51.     $(CC) -O0 -fcaller-saves -fvolatile -DDEBUG $*.cc
  52.  
  53. bootstrap.o: bootstrap.cc hardware.h oper_system.h
  54.     $(CC) -O0 -fcaller-saves -fvolatile $*.cc
  55.