# Makefile.unix.solaris, Copyright 1998 (c) by G. Fankhauser, # Swiss Federal Institute of Technology, # Computer Engineering and Networks Laboratory. # # TOPSY -- A Teachable Operating System. # Implementation of a tiny and simple # micro kernel for teaching purposes. # # For further information, please visit http://www.tik.ee.ethz.ch/~topsy # # This software is provided under the terms of the GNU General Public Licence. # A full copy of the GNU GPL is provided in the file COPYING found in the # development root of Topsy. # # # File: $Source: /usr/drwho/vault/cvs/topsy/Topsy/Makefiles/Makefile.unix.solaris,v $ # Author(s): # Affiliation: ETH Zuerich, TIK # Version: $Revision: 1.9 $ # Creation Date: # Last Date of Change: $Date: 1999/12/13 21:48:29 $ by: $Author: ruf $ # # # $Log: Makefile.unix.solaris,v $ # Revision 1.9 1999/12/13 21:48:29 ruf # GNU General Public Licence Update # # Revision 1.8 1999/10/23 19:07:12 jeker # added Makefile.SimOS.mips and did some code cleanup # # Revision 1.7 1999/09/17 07:55:05 gfa # new automatic version string # # Revision 1.6 1999/06/12 16:54:38 gfa # linkscript typo... # # Revision 1.5 1999/06/10 15:10:56 jeker # cleaning up # # Revision 1.4 1999/06/10 13:15:44 jeker # cleaning up # # Revision 1.3 1999/06/09 18:53:51 gfa # repaired -Bstatic for user space # # Revision 1.2 1999/06/09 17:04:51 gfa # changed LDFLAGS # # Revision 1.1 1999/06/06 20:54:53 jeker # putting everything together for Topsy 2.0 # # # ############################################################################### # machine dependent subdirectories for each module and folder for object files ARCH=unix # make procedures for the outside all: version kernel user # include default stuff include Makefiles/Makefile.default include Makefiles/Makefile.user # host platform (Filename Platform.ARCH.PLATFORM) include Makefiles/Platform.$(ARCH).solaris # address of memory layout description after loading # needed by both kernel startup code (which passes the pointer to the # memory manager) and the bootlinker SEGMAPDEFINE= # compiler defines DEBUG=-g CCDEBUG=$(DEBUG) -ggdb CFLAGS=$(MACHINE_CFLAGS) $(CCDEBUG) -Wall INC=$(addprefix -I, $(ALLDIRS)) DEFS = -DDEBUG_LEVEL=2 OPTIMIZE = -O2 LDFLAGS = $(DEBUG) # first the kernel architecture depending files STFILESARCH=start.c TOFILESARCH=Exception.c SyscallMsg.c PrintReg.c MMFILESARCH=MMDirectMapping.c MMError.c TMFILESARCH=TMClock.c TMError.c TMException.c TMHal.c IOFILESARCH=IOHal.c # now the drivers, this is a temporary solution, will be changed in near future IOFILESDRIVERS=UnixConsole.c Loopback.c # make depending files LINKSCRIPT=link.solaris.scr KERNEL_LINKSCRIPT=Boot/$(ARCH)/$(LINKSCRIPT) USER_LINKSCRIPT=User/$(LINKSCRIPT) ######################### KERNEL STUFF ######################### # this builds the Topsy unix "kernel" kernel: kernel.elf kernel.elf: $(REALKERNELOBJS) $(CC) $(LDFLAGS) -ldl -o kernel $(LIBS) $(REALKERNELOBJS) ########################## USER STUFF ########################## # this builds the Topsy User stuff user: user.unix user.unix: $(REALOBJS) $(SYSCALL) $(USER_LINKSCRIPT) $(LD) -Bstatic $(LDFLAGS) -o user $(REALOBJS) $(SYSCALL) $(LIBS) \ -T $(USER_LINKSCRIPT) $(OBJCOPY) user --output-target binary user.bin