亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? makefile

?? The main purpose of this project is to add a new scheduling algorithm to GeekOS and to implement a s
??
字號:
# Makefile for GeekOS kernel, userspace, and tools# Copyright (c) 2004,2005 David H. Hovemeyer <daveho@cs.umd.edu># $Revision: 1.45 $# This is free software.  You are permitted to use,# redistribute, and modify it as specified in the file "COPYING".# Required software to build GeekOS:# - GNU Make (http://www.gnu.org/software/make)# - gcc 2.95.2 generating code for target (i386/ELF) and host platforms# - nasm (http://nasm.sourceforge.net)# - Perl5, AWK (any version), egrep## Cygwin (http://cygwin.com) may be used to build GeekOS.# Make sure that gcc, binutils, nasm, and perl are installed.# NOTES:# - This makefile has been written carefully to work correctly#   with the -j (parallel make) option.  I regularly use "make -j 2"#   to speed the build process on 2 processor systems.PROJECT_ROOT := ..VPATH := $(PROJECT_ROOT)/src# Figure out if we're compiling with cygwin, http://cygwin.comSYSTEM_NAME := $(shell uname -s)ifeq ($(findstring CYGWIN,$(SYSTEM_NAME)),CYGWIN)SYM_PFX            := _EXTRA_C_OPTS       := -DNEED_UNDERSCORE -DGNU_WIN32EXTRA_NASM_OPTS    := -DNEED_UNDERSCORENON_ELF_SYSTEM     := yesEXTRA_CC_USER_OPTS := -Dmain=geekos_mainendif# ----------------------------------------------------------------------# Configuration -#   Various options specifying how GeekOS should be built,#   what source files to build, which user programs to build,#   etc.  This is generally the only section of the makefile#   that will need to be modified.# ----------------------------------------------------------------------# List of targets to build by default.# These targets encompass everything needed to boot# and run GeekOS.ALL_TARGETS := fd.img diskc.img# Kernel source file containing implementation of user address space supportUSER_IMP_C := userseg.c# Kernel source filesKERNEL_C_SRCS := idt.c int.c trap.c irq.c io.c \	keyboard.c screen.c timer.c \	mem.c crc32.c \	gdt.c tss.c segment.c \	bget.c malloc.c \	synch.c kthread.c \	user.c $(USER_IMP_C) argblock.c syscall.c dma.c floppy.c \	elf.c blockdev.c ide.c \	vfs.c pfat.c bitset.c \	main.c# Kernel object files built from C source filesKERNEL_C_OBJS := $(KERNEL_C_SRCS:%.c=geekos/%.o)# Kernel assembly filesKERNEL_ASM_SRCS := lowlevel.asm# Kernel object files build from assembler source filesKERNEL_ASM_OBJS := \  $(KERNEL_ASM_SRCS:%.asm=geekos/%.o)# All kernel object filesKERNEL_OBJS := $(KERNEL_C_OBJS) \  $(KERNEL_ASM_OBJS)# Common library source files.# This library is linked into both the kernel and user programs.# It provides string functions and generic printf()-style# formatted output.COMMON_C_SRCS := fmtout.c string.c memmove.c# Common library object files.COMMON_C_OBJS := $(COMMON_C_SRCS:%.c=common/%.o)# User libc source files.LIBC_C_SRCS := \	sched.c sema.c \	compat.c process.c\	conio.c # User libc object files.LIBC_C_OBJS := $(LIBC_C_SRCS:%.c=libc/%.o)# Generated libc source filesGENERATED_LIBC_SRCS := libc/errno.c# User program source files.USER_C_SRCS := \	workload.c \	semtest1.c semtest2.c p1.c p2.c p3.c \	schedtest.c sched1.c sched2.c sched3.c \	ping.c pong.c long.c \	shell.c b.c c.c# User executablesUSER_PROGS := $(USER_C_SRCS:%.c=user/%.exe)# Base address of kernelKERNEL_BASE_ADDR := 0x00010000# Kernel entry point functionKERNEL_ENTRY = $(SYM_PFX)Main# Base address of user programsUSER_BASE_ADDR := 0x1000# User program (libc) entry point functionUSER_ENTRY = $(SYM_PFX)_Entry# ----------------------------------------------------------------------# Tools -#   This section defines programs that are used to build GeekOS.# ----------------------------------------------------------------------# Uncomment if cross compiling#TARGET_CC_PREFIX := i386-elf-# Target C compiler.  gcc 2.95.2 or later should work.TARGET_CC := $(TARGET_CC_PREFIX)gcc# Host C compiler.  This is used to compile programs to execute on# the host platform, not the target (x86) platform.  On x86/ELF# systems, such as Linux and FreeBSD, it can generally be the same# as the target C compiler.HOST_CC := gcc# Target linker.  GNU ld is probably to only one that will work.TARGET_LD := $(TARGET_CC_PREFIX)ld# Target archiverTARGET_AR := $(TARGET_CC_PREFIX)ar# Target ranlibTARGET_RANLIB := $(TARGET_CC_PREFIX)ranlib# Target nmTARGET_NM := $(TARGET_CC_PREFIX)nm# Target objcopyTARGET_OBJCOPY := $(TARGET_CC_PREFIX)objcopy# Nasm (http://nasm.sourceforge.net)NASM := nasm# Tool to build PFAT filesystem images.BUILDFAT := tools/builtFat.exe# Perl5 or laterPERL := perl# Pad a file so its size is a multiple of some unit (i.e., sector size)PAD := $(PERL) $(PROJECT_ROOT)/scripts/pad# Create a file filled with zeroes.ZEROFILE := $(PERL) $(PROJECT_ROOT)/scripts/zerofile# Calculate size of file in sectorsNUMSECS := $(PERL) $(PROJECT_ROOT)/scripts/numsecs# Generate C file containing table of error strings from <geekos/errno.h>GENERRS := $(PERL) $(PROJECT_ROOT)/scripts/generrs# ----------------------------------------------------------------------# Definitions -#   Options passed to the tools.# ----------------------------------------------------------------------# Flags used for all C source filesGENERAL_OPTS := -O -Wall $(EXTRA_C_OPTS)CC_GENERAL_OPTS := $(GENERAL_OPTS) -Werror # Flags used for kernel C source filesCC_KERNEL_OPTS := -g -DGEEKOS -I$(PROJECT_ROOT)/include# Flags user for kernel assembly filesNASM_KERNEL_OPTS := -I$(PROJECT_ROOT)/src/geekos/ -f elf $(EXTRA_NASM_OPTS)# Flags used for common library and libc source filesCC_USER_OPTS := -I$(PROJECT_ROOT)/include -I$(PROJECT_ROOT)/include/libc \	$(EXTRA_CC_USER_OPTS)# Flags passed to objcopy program (strip unnecessary sections from kernel.exe)OBJCOPY_FLAGS := -R .dynamic -R .note -R .comment# ----------------------------------------------------------------------# Rules -#   Describes how to compile the source files.# ----------------------------------------------------------------------# Compilation of kernel C source filesgeekos/%.o : geekos/%.c	$(TARGET_CC) -c $(CC_GENERAL_OPTS) $(CC_KERNEL_OPTS) $< -o geekos/$*.o# Compilation of kernel assembly source filesgeekos/%.o : geekos/%.asm	$(NASM) $(NASM_KERNEL_OPTS) $< -o geekos/$*.ogeekos/%.o : geekos/%.S	$(TARGET_CC) -c $(CC_GENERAL_OPTS) $(CC_KERNEL_OPTS) $< -o geekos/$*.o# Compilation of common library C source filescommon/%.o : common/%.c	$(TARGET_CC) -c $(CC_GENERAL_OPTS) $(CC_USER_OPTS) $< -o common/$*.o# Compilation of libc source fileslibc/%.o : libc/%.c	$(TARGET_CC) -c $(CC_GENERAL_OPTS) $(CC_USER_OPTS) $< -o libc/$*.o# Compilation of user programsuser/%.exe : user/%.c libc/libc.a libc/entry.o	$(TARGET_CC) -c $(CC_GENERAL_OPTS) $(CC_USER_OPTS) $< -o user/$*.o	$(TARGET_LD) -o $@ -Ttext $(USER_BASE_ADDR) -e $(USER_ENTRY) \		libc/entry.o user/$*.o libc/libc.aifeq ($(NON_ELF_SYSTEM),yes)	$(TARGET_OBJCOPY) -O elf32-i386 $@ $@endif# ----------------------------------------------------------------------# Targets -#   Specifies files to be built# ----------------------------------------------------------------------# Default target - see definition of ALL_TARGETS in Configuration sectionall : $(ALL_TARGETS)# Standard floppy image - just boots the kernelfd.img : geekos/fd_boot.bin geekos/setup.bin geekos/kernel.bin	cat geekos/fd_boot.bin geekos/setup.bin geekos/kernel.bin > $@# Augmented floppy image - contains kernel and user executables on PFAT filesystemfd_aug.img : geekos/fd_boot.bin geekos/setup.bin geekos/kernel.bin $(USER_PROGS) $(BUILDFAT)	$(ZEROFILE) $@ 2880	$(BUILDFAT) -b geekos/fd_boot.bin $@ geekos/setup.bin geekos/kernel.bin $(USER_PROGS) $(BUILDFAT)# First hard drive image (10 MB).# This contains a PFAT filesystem with the user programs on it.diskc.img : $(USER_PROGS) $(BUILDFAT)	$(ZEROFILE) $@ 20480	$(BUILDFAT) $@ $(USER_PROGS)# Tool to build PFAT filesystem images$(BUILDFAT) : $(PROJECT_ROOT)/src/tools/buildFat.c $(PROJECT_ROOT)/include/geekos/pfat.h	$(HOST_CC) $(CC_GENERAL_OPTS) -I$(PROJECT_ROOT)/include $(PROJECT_ROOT)/src/tools/buildFat.c -o $@# Floppy boot sector (first stage boot loader).geekos/fd_boot.bin : geekos/setup.bin geekos/kernel.bin $(PROJECT_ROOT)/src/geekos/fd_boot.asm	$(NASM) -f bin \		-I$(PROJECT_ROOT)/src/geekos/ \		-DNUM_SETUP_SECTORS=`$(NUMSECS) geekos/setup.bin` \		-DNUM_KERN_SECTORS=`$(NUMSECS) geekos/kernel.bin` \		$(PROJECT_ROOT)/src/geekos/fd_boot.asm \		-o $@# Setup program (second stage boot loader).geekos/setup.bin : geekos/kernel.exe $(PROJECT_ROOT)/src/geekos/setup.asm	$(NASM) -f bin \		-I$(PROJECT_ROOT)/src/geekos/ \		-DENTRY_POINT=0x`egrep 'Main$$' geekos/kernel.syms |awk '{print $$1}'` \		$(PROJECT_ROOT)/src/geekos/setup.asm \		-o $@	$(PAD) $@ 512# Loadable (flat) kernel image.geekos/kernel.bin : geekos/kernel.exe	$(TARGET_OBJCOPY) $(OBJCOPY_FLAGS) -S -O binary geekos/kernel.exe geekos/kernel.bin	$(PAD) $@ 512# The kernel executable and symbol map.geekos/kernel.exe : $(KERNEL_OBJS) $(COMMON_C_OBJS)	$(TARGET_LD) -o geekos/kernel.exe -Ttext $(KERNEL_BASE_ADDR) -e $(KERNEL_ENTRY) \		$(KERNEL_OBJS) $(COMMON_C_OBJS)	$(TARGET_NM) geekos/kernel.exe > geekos/kernel.syms# C library for user mode programslibc/libc.a : $(LIBC_C_OBJS) libc/errno.o $(COMMON_C_OBJS)	$(TARGET_AR) ruv $@ $(LIBC_C_OBJS) libc/errno.o $(COMMON_C_OBJS)	$(TARGET_RANLIB) $@# Source file containing the table of error strings for each error code.# This is derived automatically from the comments in <geekos/errno.h>.libc/errno.c : $(PROJECT_ROOT)/include/geekos/errno.h $(PROJECT_ROOT)/scripts/generrs	$(GENERRS) $(PROJECT_ROOT)/include/geekos/errno.h > $@# Clean build directories of generated filesclean :	for d in geekos common libc user tools; do \		(cd $$d && rm -f *); \	done# Build header file dependencies, so source files are recompiled when# header files they depend on are modified.depend : $(GENERATED_LIBC_SRCS)	$(TARGET_CC) -M $(CC_GENERAL_OPTS) $(CC_KERNEL_OPTS) \		$(KERNEL_C_SRCS:%.c=$(PROJECT_ROOT)/src/geekos/%.c) \		| $(PERL) -n -e 's,^(\S),geekos/$$1,;print' \		> depend.mak	$(TARGET_CC) -M $(CC_GENERAL_OPTS) $(CC_USER_OPTS) \		$(LIBC_C_SRCS:%.c=$(PROJECT_ROOT)/src/libc/%.c) libc/errno.c \		| $(PERL) -n -e 's,^(\S),libc/$$1,;print' \		>> depend.mak	$(TARGET_CC) -M $(CC_GENERAL_OPTS) $(CC_USER_OPTS) \		$(COMMON_C_SRCS:%.c=$(PROJECT_ROOT)/src/common/%.c) \		| $(PERL) -n -e 's,^(\S),common/$$1,;print' \		>> depend.mak# By default, there are no header file dependencies.depend.mak :	touch $@include depend.mak

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91网站黄www| 国产精品美女久久福利网站| 欧美大胆人体bbbb| 亚洲欧美色图小说| 久久电影网站中文字幕| 91在线视频免费91| 久久综合久久鬼色| 亚洲永久免费av| 国产河南妇女毛片精品久久久| 欧美亚洲丝袜传媒另类| 国产日韩精品久久久| 三级影片在线观看欧美日韩一区二区 | 国产日韩欧美精品一区| 午夜精品成人在线视频| 岛国av在线一区| 精品国产一区二区三区久久久蜜月| 亚洲精品国产一区二区精华液 | 日本成人中文字幕| 一道本成人在线| 国产精品视频在线看| 精彩视频一区二区| 欧美一区二区视频免费观看| 亚洲精品成人在线| 色综合中文字幕| 国产精品国产三级国产三级人妇| 韩国视频一区二区| 欧美成人a视频| 免费视频一区二区| 日韩你懂的在线观看| 蜜桃久久av一区| 欧美一级黄色片| 免费看精品久久片| 日韩三级av在线播放| 开心九九激情九九欧美日韩精美视频电影 | 国产亚洲美州欧州综合国| 久久99热99| 久久综合色天天久久综合图片| 开心九九激情九九欧美日韩精美视频电影| 欧美精品在线观看播放| 国产一区二区三区国产| 日韩三级在线观看| 狠狠色丁香婷婷综合久久片| 欧美草草影院在线视频| 国产乱码精品1区2区3区| 久久精品一二三| 国产91在线观看丝袜| 国产精品美女久久福利网站| 91在线免费视频观看| 一区二区三区在线高清| 欧美日韩高清不卡| 日韩成人精品视频| 日韩精品一区二区三区三区免费| 美日韩一区二区| 久久精品夜夜夜夜久久| 91天堂素人约啪| 亚洲影院久久精品| 欧美一区二区三区日韩| 国产成人午夜高潮毛片| 亚洲欧美视频在线观看视频| 欧美日韩高清一区二区不卡 | 日韩视频免费观看高清在线视频| 国产主播一区二区| 中文字幕一区免费在线观看| 欧美性高清videossexo| 久久er精品视频| 国产精品初高中害羞小美女文| 欧美三级韩国三级日本一级| 国产一区二区三区日韩| 亚洲精品视频在线看| 欧美一级精品在线| 99精品欧美一区二区三区小说 | 亚洲欧美综合另类在线卡通| 欧美日韩不卡视频| 国产精品综合网| 亚洲一区在线观看免费| 久久久综合精品| 欧美精品丝袜久久久中文字幕| 国产精品一区二区黑丝| 亚洲成人免费电影| 中文字幕精品三区| 欧美一级片免费看| 色综合久久综合网欧美综合网| 国产一区福利在线| 亚洲不卡在线观看| 亚洲精品乱码久久久久久日本蜜臀| 日韩一区二区精品在线观看| 91色|porny| 风流少妇一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲欧洲制服丝袜| 国产日本一区二区| 日韩手机在线导航| 欧美日本一区二区在线观看| 暴力调教一区二区三区| 国产一区二区三区四区五区美女| 亚洲高清免费在线| 亚洲精品你懂的| 亚洲品质自拍视频| 国产精品久久久久久亚洲伦| 2017欧美狠狠色| 91精品国产免费久久综合| 欧洲激情一区二区| 在线视频综合导航| 在线欧美一区二区| 91免费在线看| 91亚洲永久精品| 99免费精品视频| 不卡一区中文字幕| 国产成人精品一区二区三区四区| 美女视频网站久久| 麻豆freexxxx性91精品| 日韩国产成人精品| 日韩av一区二区在线影视| 亚洲大片免费看| 午夜精品视频一区| 亚洲mv在线观看| 视频一区二区三区入口| 日本女人一区二区三区| 免费日本视频一区| 久久精品噜噜噜成人av农村| 热久久免费视频| 精品一区二区国语对白| 国产精一区二区三区| 国产寡妇亲子伦一区二区| 国产在线精品视频| 成人av网站在线观看免费| 99麻豆久久久国产精品免费| 色妞www精品视频| 欧美亚洲日本国产| 91精品国产91久久综合桃花| 欧美大片顶级少妇| 中文字幕第一区综合| ...av二区三区久久精品| 亚洲黄色性网站| 日韩av电影一区| 国产一区二区按摩在线观看| 成人亚洲精品久久久久软件| 99视频在线观看一区三区| 在线观看三级视频欧美| 欧美大片在线观看一区二区| 日本一区二区三区国色天香 | 欧美性大战久久| 日韩女优制服丝袜电影| 日本一区二区在线不卡| 亚洲综合激情另类小说区| 丝袜国产日韩另类美女| 国产精品69毛片高清亚洲| 色婷婷综合视频在线观看| 欧美日韩激情一区二区| 久久一区二区三区国产精品| 亚洲欧美视频在线观看| 美女一区二区三区| av一区二区不卡| 欧美一区三区二区| 中文字幕在线一区| 日韩专区一卡二卡| 国产成人在线视频网站| 欧美色大人视频| 欧美极品另类videosde| 午夜国产精品一区| 成人午夜av在线| 91精品国产手机| 亚洲视频一区二区免费在线观看| 日本不卡一区二区三区| 91免费小视频| 国产亚洲综合av| 婷婷六月综合网| 99久久777色| 亚洲欧美成人一区二区三区| 亚洲成人av福利| 91丨porny丨蝌蚪视频| 精品久久99ma| 亚洲一区二区不卡免费| 99视频一区二区三区| 久久色.com| 免费成人你懂的| 在线看国产一区二区| 国产精品嫩草影院com| 久久福利视频一区二区| 欧美精品视频www在线观看| 国产精品国产三级国产普通话蜜臀 | 洋洋av久久久久久久一区| 国产一区二区不卡老阿姨| 7878成人国产在线观看| 亚洲精品午夜久久久| 成人av高清在线| 久久久久88色偷偷免费| 天天亚洲美女在线视频| 91在线高清观看| 高清不卡一区二区在线| 国产成人精品免费视频网站| 欧美刺激午夜性久久久久久久| 亚洲午夜免费福利视频| 色94色欧美sute亚洲线路一ni| 亚洲欧美一区二区在线观看| 懂色av一区二区在线播放| 国产婷婷色一区二区三区四区 | 中文成人综合网| 国产精品99精品久久免费| 国产亚洲欧美一区在线观看|