FreeCalypso > hg > fc-magnetite
view src/gpf3/frame/makefile @ 484:a1946652f71c
top README: update for the status of hybrid firmware
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 20 Jun 2018 08:18:48 +0000 |
parents | c41a534f33c6 |
children |
line wrap: on
line source
####################### Makefile for GNU make ##################### # # makefile with rules for all different variations of Frame # # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # # targets: # # os_layer (objects) # frameobjs Frame + OS-Layer + TST (objects) # ../lib/frame.lib or ../lib/frame.dll # ../lib/ofe.lib or ../lib/ofe.dll Frame + OS_LAYER + TST + OFE # clean delete object files # ####################################################################### VPATH=$(OS_LAYER_SRC) $(OBJDIR) OWN_MAKELEVEL=0 GPF:=$(subst \,/,$(GPF)) ifdef TOOL_CHOICE TS:=/ts$(TOOL_CHOICE) tsTail :=_ts$(TOOL_CHOICE) else TS:= endif ifdef PATH_CC_1_22E PATH:=$(PATH_CC_1_22E);$(PATH) C_DIR:=$(PATH_CC_1_22E) endif ifeq ($(TOOL_CHOICE), 3) COPTS= --align_structs=4 -pden -q ifndef PATH_CC_2_54 PATH_CC_2_54=C:/Dvpt_tools/Codegen/TMS4701x_2.54 C_DIR=PATH_CC_2_54 endif Path:=$(PATH_CC_2_54)/bin;$(Path) INCLUDES += -I"$(PATH_CC_2_54)/include" endif ifeq ($(TOOL_CHOICE), 5) COPTS= --align_structs=4 -pden -q ifndef PATH_CC_2_55 PATH_CC_2_55=C:\Dvpt_tools\Codegen\TMS4701x_2.55 # C_DIR=PATH_CC_2_55 endif Path:=$(PATH_CC_2_55)/bin;$(Path) INCLUDES += -I"$(PATH_CC_2_55)/include" endif ifeq ($(TOOL_CHOICE), 6) # --code_state=16 => -mt # --endian=little => -me # what is -ml? COPTS= -mv=5e --abi=ti_arm9_abi COPTS+= -pden -pdv -mf -ms -qq -disable_branch_chaining -pi ifndef PATH_CC_4_11 PATH_CC_4_11=C:\Dvpt_tools\Codegen\TMS4701x_4.11 # C_DIR=PATH_CC_4_11 endif Path:=$(PATH_CC_4_11)/bin;$(Path) INCLUDES += -I"$(PATH_CC_4_11)/include" endif #*==== PARAMETERS-ANALYSIS =========================================*# ifeq ($(FLOAT), 1) REPLACE = -replace endif ifeq ($(OS_ONLY), 1) OSAL:=/os else OSAL:= endif ifeq ($(TARGET), nuc) ifeq ($(RUN_FLASH), 1) SECTION:=/fl endif ifeq ($(RUN_INT_RAM), 1) SECTION:=/ir endif else SECTION:= endif ifeq ($(TARGET), linuxpc) ESF=1 endif ifeq ($(TARGET), linuxarm) ESF=1 endif ifeq ($(TARGET), solsparc) ESF=1 endif ifeq ($(ESF), 1) ES:=/esf else ES:= endif ifeq ($(NO_LINT), 1) USE_LINT:=1 else USE_LINT:=0 endif ifeq "$(CLEARCASE_PRIMARY_GROUP)" "" CLRCAS=0 else ifeq "$(IN_VOB)" "FALSE" CLRCAS=0 else CLRCAS=1 endif endif ifeq ($(CLRCAS), 1) CHECKOUT = -cleartool co -nc CHECKIN = -cleartool ci -nc else CHECKOUT = attrib -r CHECKIN = attrib +r endif # for created object files ifeq ($(TARGET), nuc) OBJDIR=obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(ES)$(SECTION)$(OPT)$(TS) NUC_OBJDIR=e:/nucleus/v1.1/os/asm TIF_OBJDIR=../tst/$(OBJDIR) MISC_OBJDIR=../misc/$(OBJDIR) else OBJDIR=obj/$(TARGET)$(DB)$(OSAL)$(PS)$(ES) endif # for stack calculation GAWK=../tools/bin/gawk.exe AWK_PROG=../BIN/cg$(tTail).awk # Lint LINT=lint-nt.exe LINT_INC=-i/gpf/template/lint/ LINT_OPT_FILE=/gpf/template/lint/options.lnt # general directories GPFDIR=.. INCDIR=../inc ifndef TI_DIR TI_DIR=/chipsetsw/ endif override TI_DIR:=$(subst \,/,$(TI_DIR)) # for created libraries ifeq ($(TARGET), win32) LIBDIR=../LIB/WIN32$(DEBUGDIR) BINDIR=../BIN$(DEBUGDIR) else LIBDIR:=../LIB endif OS_LAYER_SRC=./$(TARGET) FRAME_SRC=./ #-------------------------general exported include files INC_FILES=Vsi.h os.h typedefs.h drvconf.h STDDEFS.H gdi.h comp.h Header.h \ ofe.h PEI.H poolconf.h TOK.H $(LIBDIR)/FrmConst.h #-------------------------Suffixes for the name of the output file #---------e.g. frame_tr_rt_po_db.lib ifeq ($(ESF), 1) esfTail :=_esf else esfTail := endif ifeq ($(RUN_FLASH), 1) flTail :=_fl else flTail:= endif ifeq ($(RUN_INT_RAM), 1) irTail :=_ir else irTail:= endif ifeq ($(TARGET), nuc) ifeq ($(PLATFORM), arm7) tTail :=_na7 else ifeq ($(PLATFORM), arm9) tTail :=_na9 else ifeq ($(PLATFORM), pc) tTail :=_npc endif endif endif else ifeq ($(TARGET), nuc_ARM) tTail :=_ar else ifeq ($(TARGET), win32) tTail := else ifeq ($(TARGET), psos) tTail :=_po else ifeq ($(TARGET), vxworks) tTail :=_vx ifeq ($(TOOL), gnu) tlTail :=_gn else tlTail :=_di endif ifeq ($(CPU), PPC603) cpTail :=_pp endif else ifeq ($(TARGET), linuxpc) tTail :=_lpc OSENV=sus NO_LINT=1 else ifeq ($(TARGET), rtlpc) tTail :=_rlp OSENV=sus NO_LINT=1 RTL_VERSION=2.0 RTL_DIR=/opt/rtldk-$(RTL_VERSION)/rtlinuxpro include $(RTL_DIR)/rtl.mk else ifeq ($(TARGET), linuxarm) tTail :=_la9 OSENV=sus NO_LINT=1 else ifeq ($(TARGET), solsparc) tTail :=_ssp OSENV=sus NO_LINT=1 endif endif endif endif endif endif endif endif endif ifeq ($(DEBUG), 1) DB=/db ifeq ($(TARGET), win32) DEBUGDIR=/debug dbTail := else dbTail :=_db endif else dbTail:= DB= endif ifeq ($(OS_ONLY), 1) LIBNAME = os else LIBNAME = frame endif ifeq ($(NO_OPT), 1) DISABLE_OPT:=1 OPT:=/no noTail:=_no else DISABLE_OPT:=0 OPT:= noTail:= endif #---------- shell calls RM = -rm -rf ifeq ($(OSENV), sus) MKDIR = mkdir else MKDIR = gmkdir endif COPY = cp MOVE = mv COPTS_FILE = CLEARTOOL = cleartool ECHO = @echo #-------------------------Suffixes for the name of the output files #--------frame.lib suffixes ifeq ($(MEMSUPER), 2) msTail :=_ps PS=/ps endif ifeq ($(MEMSUPER), 1) msTail :=_pm endif ifeq ($(MEMSUPER), 0) msTail:= PS= endif XXX:=$(tTail)$(tlTail)$(cpTail)$(dbTail)$(msTail)$(esfTail)$(irTail)$(flTail)$(noTail)$(tsTail) #-------------------------Suffixes for the name of the output files _OS_LAYER= os_pro.$(OBJTAIL) os_com.$(OBJTAIL) os_tim.$(OBJTAIL) os_sem.$(OBJTAIL) os_mis.$(OBJTAIL) os_mem.$(OBJTAIL) $(OS_ISR) $(OS_PART) $(OSDRV) ifeq ($(OS_ONLY), 1) _FRAMEOBJS = $(ESF_FUNC) else _FRAMEOBJS = frame.$(OBJTAIL) vsi_sem.$(OBJTAIL) vsi_com.$(OBJTAIL) vsi_mem.$(OBJTAIL) vsi_tim.$(OBJTAIL)\ vsi_mis.$(OBJTAIL) vsi_drv.$(OBJTAIL) vsi_trc.$(OBJTAIL) vsi_pro.$(OBJTAIL) xalert.$(OBJTAIL)\ route.$(OBJTAIL) prf_func.$(OBJTAIL) frm_ext.$(OBJTAIL) $(ESF_FUNC) endif _TIFOBJS = $(TIF_OBJDIR)/tst_pei.$(OBJTAIL) $(TIF_OBJDIR)/tstdriver.$(OBJTAIL) $(TIF_OBJDIR)/tif.$(OBJTAIL)\ $(TIF_OBJDIR)/tr.$(OBJTAIL) $(TIF_OBJDIR)/titrc.$(OBJTAIL) _MISCOBJS = $(MISC_OBJDIR)/tok.$(OBJTAIL) $(MISC_OBJDIR)/tools.$(OBJTAIL) _NUCOBJS = $(NUC_OBJDIR)/inc.$(OBJTAIL) $(NUC_OBJDIR)/dmi.$(OBJTAIL) $(NUC_OBJDIR)/evi.$(OBJTAIL) $(NUC_OBJDIR)/pmi.$(OBJTAIL) $(NUC_OBJDIR)/mbi.$(OBJTAIL) $(NUC_OBJDIR)/ioi.$(OBJTAIL) $(NUC_OBJDIR)/tmi.$(OBJTAIL) \ $(NUC_OBJDIR)/qui.$(OBJTAIL) $(NUC_OBJDIR)/hii.$(OBJTAIL) $(NUC_OBJDIR)/eri.$(OBJTAIL) $(NUC_OBJDIR)/pii.$(OBJTAIL) $(NUC_OBJDIR)/smi.$(OBJTAIL) $(NUC_OBJDIR)/tci.$(OBJTAIL) $(NUC_OBJDIR)/erc.$(OBJTAIL) \ $(NUC_OBJDIR)/mbd.$(OBJTAIL) $(NUC_OBJDIR)/iod.$(OBJTAIL) $(NUC_OBJDIR)/hid.$(OBJTAIL) $(NUC_OBJDIR)/pid.$(OBJTAIL) $(NUC_OBJDIR)/qud.$(OBJTAIL) $(NUC_OBJDIR)/erd.$(OBJTAIL) $(NUC_OBJDIR)/lic.$(OBJTAIL) \ $(NUC_OBJDIR)/rld.$(OBJTAIL) $(NUC_OBJDIR)/lid.$(OBJTAIL) $(NUC_OBJDIR)/ioc.$(OBJTAIL) $(NUC_OBJDIR)/ioce.$(OBJTAIL) $(NUC_OBJDIR)/iof.$(OBJTAIL) $(NUC_OBJDIR)/quc.$(OBJTAIL) $(NUC_OBJDIR)/quce.$(OBJTAIL) \ $(NUC_OBJDIR)/quf.$(OBJTAIL) $(NUC_OBJDIR)/qus.$(OBJTAIL) $(NUC_OBJDIR)/quse.$(OBJTAIL) $(NUC_OBJDIR)/pic.$(OBJTAIL) $(NUC_OBJDIR)/pice.$(OBJTAIL) $(NUC_OBJDIR)/pif.$(OBJTAIL) $(NUC_OBJDIR)/pis.$(OBJTAIL) \ $(NUC_OBJDIR)/pise.$(OBJTAIL) $(NUC_OBJDIR)/mbc.$(OBJTAIL) $(NUC_OBJDIR)/mbce.$(OBJTAIL) $(NUC_OBJDIR)/mbf.$(OBJTAIL) $(NUC_OBJDIR)/mbs.$(OBJTAIL) $(NUC_OBJDIR)/mbse.$(OBJTAIL) $(NUC_OBJDIR)/sms.$(OBJTAIL) \ $(NUC_OBJDIR)/smse.$(OBJTAIL) $(NUC_OBJDIR)/tcs.$(OBJTAIL) $(NUC_OBJDIR)/tcse.$(OBJTAIL) $(NUC_OBJDIR)/evf.$(OBJTAIL) $(NUC_OBJDIR)/hic.$(OBJTAIL) $(NUC_OBJDIR)/dmc.$(OBJTAIL) $(NUC_OBJDIR)/dmce.$(OBJTAIL) \ $(NUC_OBJDIR)/dmd.$(OBJTAIL) $(NUC_OBJDIR)/dmf.$(OBJTAIL) $(NUC_OBJDIR)/evc.$(OBJTAIL) $(NUC_OBJDIR)/evce.$(OBJTAIL) $(NUC_OBJDIR)/evd.$(OBJTAIL) $(NUC_OBJDIR)/pmf.$(OBJTAIL) $(NUC_OBJDIR)/smf.$(OBJTAIL) \ $(NUC_OBJDIR)/tcf.$(OBJTAIL) $(NUC_OBJDIR)/tmf.$(OBJTAIL) $(NUC_OBJDIR)/rlc.$(OBJTAIL) $(NUC_OBJDIR)/csc.$(OBJTAIL) $(NUC_OBJDIR)/tmc.$(OBJTAIL) $(NUC_OBJDIR)/pmc.$(OBJTAIL) $(NUC_OBJDIR)/pmce.$(OBJTAIL) \ $(NUC_OBJDIR)/pmd.$(OBJTAIL) $(NUC_OBJDIR)/smc.$(OBJTAIL) $(NUC_OBJDIR)/smce.$(OBJTAIL) $(NUC_OBJDIR)/smd.$(OBJTAIL) $(NUC_OBJDIR)/tcc.$(OBJTAIL) $(NUC_OBJDIR)/tcce.$(OBJTAIL) $(NUC_OBJDIR)/tcd.$(OBJTAIL) \ $(NUC_OBJDIR)/tms.$(OBJTAIL) $(NUC_OBJDIR)/tmse.$(OBJTAIL) $(NUC_OBJDIR)/tmd.$(OBJTAIL) ifeq ($(MEMSUPER), 2) _FRAMEOBJS += vsi_ppm.$(OBJTAIL) endif _FRAMEOBJS += frame_version.$(OBJTAIL) #----------------------------------- Special settings for each target #----------Nucleus ifeq ($(TARGET), nuc) ifeq ($(PLATFORM), arm7) OSDRV = os_drv.$(OBJTAIL) OS_ISR = os_isr.$(OBJTAIL) OS_LAYER_SRC:=./nuc/ _OS_LAYER += os_evt.$(OBJTAIL) ifeq ($(TOOL_CHOICE), ) COPTS+= -mw -x -pw2 -q -o endif CC=cl470 COPTS+= -me -mt ifeq ($(DEBUG), 1) ifeq ($(TOOL_CHOICE), ) COPTS += -g else COPTS += -gt endif COPTS += -mn DEFINES += -dNU_DEBUG endif ifeq ($(ASM_ONLY), 1) ASMOBJS = $(_NUCOBJS) $(_TIFOBJS) $(_MISCOBJS) COPTS+= -q -n -x0 -fs $(OBJDIR) MKLIB = $(GAWK) -f $(AWK_PROG) > $(FRAME_LIB) OBJTAIL = asm FRAME_LIB = $(OBJDIR)/frame$(XXX).pa else LIBEXT = lib OBJTAIL = obj FRAME_LIB=$(LIBDIR)/$(LIBNAME)$(XXX).$(LIBEXT) LINT_OPT_FILE += nucleus.lnt LINT_OPTS = $(LINT_INC) -I"$(subst \,/,$(C_DIR))" -u $(LINT_OPT_FILE) MKLIB = ar470 $(LFLAGS) endif ifeq ($(OS_ONLY), 1) DEFINES += -dFF_OS_ONLY else DEFINES += -d_FF_RV_EXIST_ COPTS+= -o3 endif ifeq ($(POOL_SPLIT), 1) DEFINES += -dFF_POOL_SPLIT endif ifeq ($(RUN_INT_RAM), 1) COPTS += -dRUN_INT_RAM endif ifeq ($(RUN_FLASH), 1) COPTS += -dRUN_FLASH endif COPTS += -fr $(OBJDIR) -c ifeq ($(MEMSUPER), 2) DEFINES += -dMEMORY_SUPERVISION -dOPTIMIZE_POOL endif ifeq ($(MEMSUPER), 1) DEFINES += -dMEMORY_SUPERVISION endif INCLUDES+=-I"." -I"..\FRAME\NUC" -I"..\INC\NUC" -I"..\INC\NUC\ARM7" -I"..\INC" \ -I"..\TST" -I"$(TI_DIR)\Riviera" -I"$(TI_DIR)\Riviera\rv" -I"$(TI_DIR)\Services\dar" \ -I"$(TI_DIR)\Riviera\rvm" -I"$(TI_DIR)\System" -I"$(TI_DIR)\Services" \ -I"$(TI_DIR)\Drivers\drv_app" -I"$(TI_DIR)\Drivers\drv_app\ffs" \ -I"$(TI_DIR)\System\deps_objs\gprs_dsample_amr_nw" -I"$(TI_DIR)\System\deps_objs\gprs_dsample_amr_nw\config" DEFINES += -d_TARGET_ -d_NUCLEUS_ COPTSNF = $(COPTS) $(DEFINES) $(INCLUDES) INCLUDELIST=$(INCLUDES) DEFINELIST=$(subst -d,-D,$(DEFINES)) COPTS_FILE= COMMLFLAGS = -rq $@ # only one command:a LFLAGS=$(COMMLFLAGS) LIBEXT=lib clean: @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(SECTION)$(TS)/*.$(OBJTAIL) @$(RM) $(FRAME_LIB) endif endif # nucleus & arm7 #----------Nucleus ifeq ($(TARGET), nuc) ifeq ($(PLATFORM), arm9) OSDRV = os_drv.$(OBJTAIL) OS_ISR = os_isr.$(OBJTAIL) OS_LAYER_SRC:=./nuc/ _OS_LAYER += os_evt.$(OBJTAIL) CC=cl470 COPTS+= -me -mt ifneq ($(DISABLE_OPT), 1) ifeq ($(TOOL_CHOICE), 6) COPTS+= -O=2 else COPTS+= -o endif endif ifeq ($(DEBUG), 1) ifeq ($(TOOL_CHOICE), 6) COPTS += --symdebug:coff else # toolset 3 and 5 COPTS += -gt endif COPTS += -mn DEFINES += -dNU_DEBUG endif LINT_OPT_FILE += nucleus.lnt LINT_OPTS = $(LINT_INC) -I"$(subst \,/,$(C_DIR))" -u $(LINT_OPT_FILE) ifeq ($(OS_ONLY), 1) DEFINES += -dFF_OS_ONLY endif ifeq ($(ESF), 1) ESF_FUNC = esf_func.$(OBJTAIL) DEFINES += -d_ESF_SUPPORT_ endif ifeq ($(RUN_INT_RAM), 1) COPTS += -dRUN_INT_RAM endif ifeq ($(RUN_FLASH), 1) COPTS += -dRUN_FLASH endif COPTS += -fr $(OBJDIR) -c ifeq ($(MEMSUPER), 2) DEFINES += -dMEMORY_SUPERVISION -dOPTIMIZE_POOL endif ifeq ($(MEMSUPER), 1) DEFINES += -dMEMORY_SUPERVISION endif INCLUDES+=-I"." -I"..\FRAME\NUC" -I"..\INC\NUC" -I"..\INC" -I"..\TST" MKLIB=ar470 $(LFLAGS) INCLUDES += -I"..\inc\NUC\ARM9" DEFINES += -d_TARGET_ -d_NUCLEUS_ COPTSNF = $(COPTS) $(DEFINES) $(INCLUDES) INCLUDELIST=$(INCLUDES) DEFINELIST=$(subst -d,-D,$(DEFINES)) COPTS_FILE= COMMLFLAGS = -rq $@ # only one command:a LFLAGS=$(COMMLFLAGS) LIBEXT=lib OBJTAIL=obj FRAME_LIB=$(LIBDIR)/$(LIBNAME)$(XXX).$(LIBEXT) clean: @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(ES)$(SECTION)$(OPT)$(TS)/*.$(OBJTAIL) @$(RM) $(FRAME_LIB) endif endif # nucleus & arm9 #----------------------------------- Special settings for each target #----------Nucleus_ARM ifeq ($(TARGET), nuc_ARM) OSDRV = os_drv.$(OBJTAIL) OS_LAYER_SRC:=./nuc/ _OS_LAYER += os_evt.$(OBJTAIL) CC=perl "\G23M\Condat\INT\BIN\gti_compile.pl" COPTS= -me -mt -pw2 -q -x -mw -o # from condat_env.mak and os.mak for nucleus.lib ifeq ($(DEBUG), 1) COPTS += -g -mn DEFINES += -dNU_DEBUG endif COPTS += -fr $(OBJDIR) -fo $(OBJDIR)/$@ -c ifeq ($(MEMSUPER), 2) DEFINES += -dMEMORY_SUPERVISION -dOPTIMIZE_POOL endif ifeq ($(MEMSUPER), 1) DEFINES += -dMEMORY_SUPERVISION endif INCLUDES+=-I"..\FRAME\NUC" -I"..\inc\NUC" -I"..\inc\NUC\ARM7" -I"..\inc" -I"..\TST" DEFINES += -d_TARGET_ -d_NUCLEUS_ COPTSNF = $(COPTS) $(DEFINES) $(INCLUDES) INCLUDELIST=$(INCLUDES) DEFINELIST=$(subst -d,-D,$(DEFINES)) COPTS_FILE= COMMLFLAGS = -rq $@ # only one command:a LFLAGS=$(COMMLFLAGS) MKLIB=perl "\G23M\Condat\INT\BIN\gti_archive.pl" $(LFLAGS) LIBEXT=lib OBJTAIL=obj FRAME_LIB=$(LIBDIR)/$(LIBNAME)$(XXX).$(LIBEXT) clean: @$(RM) obj/$(TARGET)$(DB)$(PS)/*.$(OBJTAIL) @$(RM) $(FRAME_LIB) endif # target: Nucleus_ARM #----------------------------------- Special settings for each target #----------NucleusWin ifeq ($(TARGET), nuc) ifeq ($(PLATFORM), pc) OS_ISR = os_isr.$(OBJTAIL) _OS_LAYER += os_ctb.obj _OS_LAYER += os_evt.$(OBJTAIL) OS_LAYER_SRC:=./nuc/ CC=cl COPTS = /c /nologo /W3 /GX /Zp1 /GZ INCLUDES += -I"." -I"..\inc\NUC" -I"..\inc\NUC\PC" -I"..\inc" -I"..\TST" LINT_OPT_FILE += co-msc50.lnt LINT_OPTS = $(LINT_INC) -D_WIN32 -D_M_IX86 -I"NUC" -u $(LINT_OPT_FILE) ifeq ($(DEBUG), 1) COPTS += /MD /DEBUG /Z7 DEFINES += -D"_DEBUG" -D"NU_DEBUG" else COPTS += /MT endif COPTS += /FR"..\temp\nucwin" /Fd"..\temp\nucwin" /Fo./$(OBJDIR)/ ifeq ($(OS_ONLY), 1) DEFINES += -D"FF_OS_ONLY" endif ifeq ($(MEMSUPER), 2) DEFINES += -D"MEMORY_SUPERVISION" -D"OPTIMIZE_POOL" endif ifeq ($(MEMSUPER), 1) DEFINES += -D"MEMORY_SUPERVISION" endif ifeq ($(POOL_SPLIT), 1) DEFINES += -D"FF_POOL_SPLIT" endif DEFINES += -D"_NUCLEUS_" COPTSNF = $(COPTS) $(DEFINES) $(INCLUDES) COPTS_FILE = INCLUDELIST=$(subst /I ,-I,$(INCLUDES)) DEFINELIST=$(subst /D ,-D,$(DEFINES)) COMMLFLAGS = /nologo /subsystem:console /machine:I386 LFLAGS=$(COMMLFLAGS) #/debug?? MKLIB=LIB /out:$@ $(LFLAGS) LIBEXT=lib OBJTAIL=obj FRAME_LIB=$(LIBDIR)/$(LIBNAME)$(XXX).$(LIBEXT) clean: @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)/*.$(OBJTAIL) @$(RM) $(FRAME_LIB) endif endif # nucleus && pc ifeq ($(OSENV), sus) #_OS_LAYER += os_ctb.o OS_ISR = os_isr.$(OBJTAIL) ESF_FUNC = esf_func.$(OBJTAIL) OS_LAYER_SRC:=./$(OSENV)/ COPTS = -c -o$(OBJDIR)/$@ INCLUDES += -I. -I../inc/$(OSENV) -I../inc -I../TST -I$(OS_LAYER_SRC) ifeq ($(TARGET), linuxtool) DEFINES += -D_TOOLS_ endif DEFINES += -DPURE_USER_MODE ifeq ($(OSL_LOG), 1) DEFINES += -DOSL_OSL_LOG endif ifeq ($(OS_ONLY), 1) DEFINES += -DFF_OS_ONLY endif ifeq ($(DEBUG), 1) COPTS += -g DEFINES += -DOSL_DEBUG endif ifeq ($(MEMSUPER), 2) DEFINES += -DMEMORY_SUPERVISION -DOPTIMIZE_POOL endif ifeq ($(MEMSUPER), 1) DEFINES += -DMEMORY_SUPERVISION endif ifeq ($(TARGET), rtlpc) COPTSNF = $(CFLAGS) MKLIB= i386-linux-ar ruv $@ RANLIB= i386-linux-ranlib DEFINES += -D_RT_LINUX_ else ifeq ($(TARGET), linuxarm) CC=arm-linux-gcc MKLIB= arm-linux-ar ruv $@ RANLIB= arm-linux-ranlib DEFINES += -D_TARGET -D_LINUX_ -D_ESF_SUPPORT_ else ifeq ($(TARGET), solsparc) CC=gcc MKLIB= ar ruv $@ RANLIB= ranlib DEFINES += -D_SOLARIS_ -D_LINUX_ -D_ESF_SUPPORT_ else CC=gcc MKLIB= ar ruv $@ RANLIB= ranlib DEFINES += -D_LINUX_ -D_ESF_SUPPORT_ endif endif endif COPTSNF += $(COPTS) $(DEFINES) $(INCLUDES) COPTS_FILE = INCLUDELIST=$(subst /I ,-I,$(INCLUDES)) DEFINELIST=$(subst /D ,-D,$(DEFINES)) MKLIB=ar ruv $@ LIBEXT=a OBJTAIL=o FRAME_LIB=$(LIBDIR)/lib$(LIBNAME)$(XXX).$(LIBEXT) clean: @$(RM) $(OBJDIR)/*.$(OBJTAIL) @$(RM) $(FRAME_LIB) #_TESTOBJS=os_pro.o os_mem.o os_com.o os_sem.o os_tim.o os_mis.o #TESTOBJS=$(patsubst %.$(OBJTAIL),$(OBJDIR)/%.$(OBJTAIL),$(_TESTOBJS)) os_test: os_test$(tTail) @echo os_test$(tTail) built os_test$(tTail): $(_TESTOBJS) sus/os_test.c $(FRAME_LIB) $(CC) -g -o $@ $(INCLUDES) $(DEFINES) sus/os_test.c $(FRAME_LIB) -lpthread -lrt endif # osenv = sus #----------------------------------- Special settings for each target #----------Win32 ifeq ($(TARGET), win32) MISCXXX:=$(tTail)$(dbTail) TIFXXX:=$(tTail)$(dbTail) TOOLS_LIBDIR=../tools/lib OS_LAYER_SRC:=./vcms/ CC=cl COPTS += /c /nologo /GX /W3 /Zp1 /GZ INCLUDES += -I"." -I$(OS_LAYER_SRC) -I"..\inc\vcms" -I"..\inc\win32" -I"..\inc\vcms\win32" -I"..\inc" LINT_OPT_FILE += co-msc50.lnt LINT_OPTS = $(LINT_INC) -D_WIN32 -D_M_IX86 -D_MSC_VER -D"WIN32" -u $(LINT_OPT_FILE) INCLUDES += -I"..\lib\win32" _OS_LAYER += frame_dllmain.$(OBJTAIL) COPTS += /FR"..\temp\win32" /Fo./$(OBJDIR)/ DEFINES += -D"CRASH_TOL" DEFINES += -D"_TOOLS_" DEFINES += -D"FRAME_DLL" DLLFLAGS= /dll\ $(EXPFILE) $(LIBDIR)/misc$(MISCXXX).lib \ $(LIBDIR)/tif$(TIFXXX).lib \ $(LIBDIR)/ntutils.lib $(TOOLS_LIBDIR)/psapi.lib \ user32.lib COMMLFLAGS = $(DLLFLAGS) COMMLFLAGS += /nologo ifeq ($(DEBUG), 1) COPTS += -DEBUG /MDd /Z7 DEFINES += -D"_DEBUG" COMMLFLAGS += /DEBUG /incremental:no /pdb:none\ ../os_lib/win32/debug/cms.lib \ /nodefaultlib:"libcmtd" else #debug COPTS += /MD COMMLFLAGS += ../os_lib/win32/cms.lib \ /nodefaultlib:"libcmt" endif #debug COPTSNF = $(COPTS) $(DEFINES) $(INCLUDES) INCLUDELIST=$(subst /I ,-I,$(INCLUDES)) DEFINELIST=$(subst /D ,-D,$(DEFINES)) LFLAGS=$(COMMLFLAGS) LFLAGS += /SECTION:FRAME_SHARED,RWS LIBEXT = dll MKLIB=link.exe /out:$@ $(LFLAGS) OBJTAIL=obj FRAME_LIB=$(BINDIR)/$(LIBNAME)$(XXX).$(LIBEXT) COPTS_FILE= EXPFILE=$(LIBDIR)/frame$(XXX).exp IMPLIB=$(LIBDIR)/frame$(XXX).lib INC_FILES+=vcms/os_const.h implib: $(IMPLIB) $(IMPLIB) $(EXPFILE): $(OBJDIR) $(_OS_LAYER) $(_FRAMEOBJS) # OWN_MAKELEVEL == 0 if makefile called directly, == 1 if nested ifneq ($(OWN_MAKELEVEL), 0) @echo checking out and touching using $(MAKE) for two possible targets ($@), make level $(OWN_MAKELEVEL) $(CHECKOUT) $(IMPLIB) touch -c $(IMPLIB) else gnumake MAKE=gnumake OWN_MAKELEVEL=1 $(subst \,/,$@ $<) @echo proceeding using $(MAKE) for two possible targets ($@), make level $(OWN_MAKELEVEL) lib.exe /nologo /MACHINE:IX86 /DEF:frame$(msTail).def $(FRAMEOBJS)\ $(OS_LAYER) /OUT:$(IMPLIB) /NAME:frame$(XXX).dll endif clean: $(RM) $(OBJDIR)/*.$(OBJTAIL) $(RM) $(IMPLIB) $(EXPFILE) $(FRAME_LIB) endif # target: win32 #----------------------------------- Special settings for each target #----------pSOS+ ifeq ($(TARGET), psos) OS_LAYER_SRC:=./psos/ CC=cc386 COPTS_FILE:=c.opt _OS_LAYER += drv_conf.$(OBJTAIL) SPEC_F_OBJS= -include $(PSS_BSP)/bsp.mk# board support settings e.g. MODEL, FPU ifeq ( FPU,H ) FPUOPT = -VNDP else FPUOPT= endif COPTS1 = -c -V$(MODEL) -VROM -VBSS -VANSI -VLONGNAME -VSPROTO -VQUIET -VDIAGNOSTICS COPTS2 = $(FPUOPT) -I$(COMFSRC)/configps/ COPTS3 = -I. -I$(PSS_ROOT)/include -I$(PSS_BSP) -I$(PSS_ROOT)/bsps/devices COPTS4 = -I./ -I../inc/ -I../inc/psos/ -I./psos/ -I../../g23net/dev/config -I../TST COPTS5 = -DMODEL=$(MODEL) -VNOSIGNEDCHAR -D__CADUL__=1 -DPSOS=1 -D_PSOS_ ifeq ($(MEMSUPER), 2) COPTS5 += -DMEMORY_SUPERVISION -DOPTIMIZE_POOL endif ifeq ($(MEMSUPER), 1) COPTS5 += -DMEMORY_SUPERVISION endif ifeq ($(DEBUG), 1) COPTS5 += -VXDB endif COPTS5 += -DTEST_TARGET_IP_ADDRESS COPTS = @c.opt #$(COPTS1) $(COPTS2) $(COPTS3) $(COPTS4) $(COPTS5) ich wollte c.opt umgehen. erstmal keinen Erfolg. COPTS += -o $(OBJDIR)/$@ COPTSNF = $(COPTS) LIBEXT = lib MKLIB = lib386 $@ # psos related libs will not be included here OBJTAIL=obj FRAME_LIB=$(LIBDIR)/$(LIBNAME)$(XXX).$(LIBEXT) c.opt: makefile @echo $(COPTS1) > c.opt @echo $(COPTS2) >> c.opt @echo $(COPTS3) >> c.opt @echo $(COPTS4) >> c.opt @echo $(COPTS5) >> c.opt #psos.abs: os.abs wie? wozu?? #~~~~~~ clean: @$(RM) obj/$(TARGET)$(DB)$(PS)/*.$(OBJTAIL) @$(RM) $(FRAME_LIB) @$(RM) c.opt endif # target: psos #----------------------------------- Special settings for each target #---------- vxworks ifeq ($(TARGET), vxworks) OS_PART = os_part.$(OBJTAIL) CC = ccppc OS_LAYER_SRC = ./$(TARGET) SPEC_OSL_INC = SPEC_OSL_OBJS = SPEC_F_OBJS = ifeq ($(DEBUG), 1) COPTSNF = -g else COPTSNF = -O2 endif COPTSNF += -c -mstrict-align -ansi -nostdinc -DRW_MULTI_THREAD -D_REENTRANT \ -fvolatile -fno-builtin -fno-for-scope -DCPU=$(CPU) \ -I$(WIND_BASE)/target/h -I. -I../../g23net/dev/config -I../inc/$(TARGET) \ -I../inc -D_VXWORKS_ -I../TST ifeq ($(MEMSUPER), 2) COPTSNF += -DMEMORY_SUPERVISION -DOPTIMIZE_POOL endif ifeq ($(MEMSUPER), 1) COPTSNF += -DMEMORY_SUPERVISION endif COPTSNF += -o $(OBJDIR)/$@ LIBEXT = a MKLIB = arppc crus $@ OBJTAIL=obj FRAME_LIB= $(LIBDIR)/$(LIBNAME)$(XXX).$(LIBEXT) clean: @$(RM) obj/$(TARGET)$(DB)$(PS)/*.o* @$(RM) $(FRAME_LIB) endif # target: vxworks ######################### echo for control ################################## #echo: # @echo $(_OS_LAYER) # @echo $(OS_LAYER) # @echo $(_FRAMEOBJS) # @echo $(FRAMEOBJS) # @echo $(SRCFILES) # @echo $(DEFINES) # @echo $(DEFINELIST) ######################### OS layer ################################## OS_LAYER=$(patsubst %.$(OBJTAIL),$(OBJDIR)/%.$(OBJTAIL),$(_OS_LAYER)) os_layer: $(COPTS_FILE) $(_OS_LAYER) ######################### Frame ################################## .PHONY: all label help asm: $(OBJDIR) $(FRAME_LIB) FRAMEOBJS=$(patsubst %.$(OBJTAIL),$(OBJDIR)/%.$(OBJTAIL),$(_FRAMEOBJS)) frameobjs: $(COPTS_FILE) $(_OS_LAYER) $(_FRAMEOBJS) frame.$(LIBEXT): $(FRAME_LIB) $(OBJDIR) : $(MKDIR) -p $(OBJDIR) $(FRAME_LIB) : $(OBJDIR) $(COPTS_FILE) $(_OS_LAYER) $(_FRAMEOBJS) makefile $(EXPFILE) # OWN_MAKELEVEL == 0 if makefile called directly, == 1 if nested ifneq ($(OWN_MAKELEVEL), 0) @echo checking out and touching using $(MAKE) $(CHECKOUT) $@ $(IMPLIB) touch -c $@ $(IMPLIB) else gnumake MAKE=gnumake OWN_MAKELEVEL=1 $(subst \,/,$@ $<) @echo proceeding using $(MAKE) ifneq ($(OSENV), sus) $(RM) $@ endif $(MKLIB) $(FRAMEOBJS) $(OS_LAYER) $(ASMOBJS) ifeq ($(OSENV), sus) $(RANLIB) $@ endif endif $(_OS_LAYER) $(_FRAMEOBJS): %.$(OBJTAIL) : %.c $(RM) $(OBJDIR)/frame_version.$(OBJTAIL) ifneq ($(NO_LINT), 1) $(LINT) $(LINT_OPTS) $(DEFINES) $(INCLUDES) $< endif $(CC) $(COPTSNF) $< SRCFILES=$(patsubst %.$(OBJTAIL),%.c,$(_FRAMEOBJS) $(_OS_LAYER)) FRAME_DEP=dep_frame_$(PROJECT)$(XXX).mk help: $(ECHO) usage... $(ECHO) building: $(ECHO) "gnumake [DEBUG={1|0}] [ROUTING={1|0}] [MEMSUPER={1|0}] ..." $(ECHO) cleaning: $(ECHO) "gnumake clean [DEBUG={1|0}] [ROUTING={1|0}] [MEMSUPER={1|0}] ..." $(ECHO) ClearCase: $(ECHO) "gnumake checkin - not implemeted yet -" $(ECHO) "gnumake label LABEL=<label type> [FLOAT={1|0}] [DEBUG={1|0}] [ROUTING={1|0}] " $(ECHO) " [MEMSUPER={1|0}] ..." $(ECHO) help: $(ECHO) "gnumake help" DEPEND_DIRS=$(GPFDIR) $(LIBDIR) $(BINDIR) $(INCDIR) EXPORT_FILES=$(IMPLIB) $(FRAME_LIB) INCLUDE_FILES=$(patsubst %,../inc/%,$(INC_FILES)) label: -$(CLEARTOOL) mklabel -recurse $(REPLACE) $(LABEL) . 2>> error.log -$(CLEARTOOL) mklabel $(REPLACE) $(LABEL) $(DEPEND_DIRS) \ $(EXPORT_FILES) $(INCLUDE_FILES) 2>> error.log depend: $(SRCFILES) @touch $(FRAME_DEP) makedepend -b -f$(FRAME_DEP) $^ -Y -o.$(OBJTAIL) $(INCLUDELIST) $(DEFINELIST) @$(RM) $(FRAME_DEP) -include $(FRAME_DEP)