makefile

来自「一个操作系统的源代码」· 代码 · 共 110 行

TXT
110
字号
# Makefile                                  #                                                              # Original Author: J Spencer Seidel                         # Date: 10.16.99     # # Description:# Top level Apostle Makefile     #                                       # Revision History: # First version     ## 0.0.1 10.16.99 J Spencer Seidel# 0.0.2 10.28.99 Guido de Jong# 0.0.3 12.22.99 Guido de Jong - new directory structure## This program is free software, you can redistribute it and/or# modify it under the terms of the GNU General Public License  # as published by the Free Software Foundation; either version # 2 of the License, or (at your option) any later version.     #                                                              # This program is distributed in the hope that it will be      # useful, but WITHOUT ANY WARRANTY; without even the implied   # warranty or MERCHANTABILITY or FITNESS FOR A PARTICULAR      # PURPOSE.  See the GNU General Public License for more       # details.                                                     #                                                              # You should have received a copy of the GNU General Public    # License along with this program; if not, write to the        # Free Software Foundation, Inc., 59 Temple Place, Suite 330,  # Boston, MA 02111-1307 USA                                    #                                                              ######################################################## Apostle OS ## Important.EXPORT_ALL_VARIABLES:###################################################################### Conditionals###### Complete directory pathMAKEROOT:=$(shell pwd)# DEBUG can be "-DDEBUG" or "" to turn it offDEBUG	=-DDEBUGifeq ($(DEBUG),-DDEBUG)LIBDBG	=-ldbgelseLIBDBG	=endif###################################################################### Directories#####BIN	=binDOC	=docINC	=includeLIB	=libOBJ	=objSRC	=src###################################################################### Targets#####include Rules.makeLIBS	=$(LIB)/libdbg.aOBJECTS=$(OBJ)/crt0.o $(OBJ)/main.o $(OBJ)/multiboot.o $(OBJ)/gdt.o \	$(OBJ)/idt.o $(OBJ)/pic.o $(OBJ)/tss.o $(OBJ)/halt.o \	$(OBJ)/paging.o $(OBJ)/exception.o $(OBJ)/exception_isr.o \	$(OBJ)/mem.o $(OBJ)/process.o $(OBJ)/process_upcall.o \	$(OBJ)/activation.o $(OBJ)/activation_resume.o $(OBJ)/scheduler.o \	$(OBJ)/scheduler_isr.o $(OBJ)/mapping.o $(OBJ)/address_space.o \	$(OBJ)/request.o $(OBJ)/ipc.o $(OBJ)/service.o $(OBJ)/service_isr.oDBGOBJS=$(OBJ)/debug/conio.o $(OBJ)/debug/vsprintf.o.PHONY: all clean clobberall:	$(BIN)/apostlez$(BIN)/apostlez: $(BIN)/apostle	gzip -c -9 $(BIN)/apostle > $(BIN)/apostlez$(BIN)/apostle: $(OBJECTS) $(LIBS)	$(LD) $(LFLAGS) -Ttext 0x100000 -o $(BIN)/apostle $(OBJECTS) $(LIBDBG)$(LIB)/libdbg.a: $(DBGOBJS)	$(AR) $(ARFLAGS) $@ $^mostlyclean:	(cd $(OBJ); $(RM) *.o; cd debug; $(RM) *.o)	(cd $(SRC); $(RM) *~; cd debug; $(RM) *~)	(cd $(INC); $(RM) *~; cd debug; $(RM) *~)	(cd $(DOC); $(RM) *~; cd debug; $(RM) *~)	$(RM) *~clean: mostlyclean	(cd $(LIB); $(RM) *.a)clobber: clean	(cd $(BIN); $(RM) apostle*)realclean: clobber

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?