FreeCalypso > hg > fc-magnetite
diff src/gpf2/frame/cust_os/makefile @ 1:864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 25 Sep 2016 23:38:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gpf2/frame/cust_os/makefile Sun Sep 25 23:38:58 2016 +0000 @@ -0,0 +1,463 @@ +####################### Makefile for GNU make ##################### +# +# makefile to build cust.lib +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# targets: +# +# osx.lib functions which belong neither to frame nor to tif, somehow old files +# clean delete temp files +# +####################################################################### + +OWN_MAKELEVEL=0 + +#---------- Directories +# to add the right header file for the specified board type +BOARD=5 + +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 -o -q + ifndef PATH_CC_2_54 + PATH_CC_2_54=C:/Dvpt_tools/Codegen/TMS4701x_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 -o -q + ifndef PATH_CC_2_55 + PATH_CC_2_55=C:\Dvpt_tools\Codegen\TMS4701x_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 + endif + Path:=$(PATH_CC_4_11)/bin;$(Path) + INCLUDES += -I"$(PATH_CC_4_11)/include" +endif + +# for created object files +ifeq ($(TARGET), nuc) + OBJDIR=obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(OPT)$(TS) +else + OBJDIR=obj/$(TARGET)$(DB)$(OSAL)$(PS) +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 + +VPATH=$(OBJDIR);$(OSX_SRC) + +# for created libraries +LIBDIR=../../LIB + +# Lint +LINT=lint-nt.exe +LINT_INC=-i/gpf/template/lint/ +LINT_OPT_FILE=/gpf/template/lint/options.lnt + +#-------------------------Suffixes for the name of the output file +#---------e.g. osx_na7_db.lib + +ifeq ($(TARGET), nuc) + ifeq ($(PLATFORM), arm7) + tTail :=_na7 + else + ifeq ($(PLATFORM), arm9) + tTail :=_na9 + else + ifeq ($(PLATFORM), pc) + tTail :=_npc + endif + endif + endif +endif +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 + +#---------- shell calls +RM = -rm -rf +ifeq ($(OSENV), sus) + MKDIR = mkdir +else + MKDIR = gmkdir +endif +COPY = cp +COPTS_FILE = +CLEARTOOL = cleartool + +ifeq ($(DEBUG), 1) + dbTail :=_db + DB=/db +else + dbTail:= +endif + +ifeq ($(OS_ONLY), 1) + osTail :=_os + OSAL=/os +else + osTail:= +endif + +ifeq ($(NO_OPT), 1) + DISABLE_OPT:=1 + OPT:=/no + noTail:=_no +else + DISABLE_OPT:=0 + OPT:= + noTail:= +endif + +ifeq ($(MEMSUPER), 2) + msTail :=_ps + PS=/ps +endif +ifeq ($(MEMSUPER), 1) + msTail :=_pm +endif +ifeq ($(MEMSUPER), 0) + msTail:= + PS= +endif + +XXX:=$(tTail)$(osTail)$(dbTail)$(msTail)$(noTail)$(tsTail) + +#---------- Special settings for each target: for Nucleus/arm7 +ifeq ($(TARGET), nuc) + ifeq ($(PLATFORM), arm7) + + LINT_OPTS = $(LINT_INC) -I"$(subst \,/,$(C_DIR))" -u $(LINT_OPT_FILE) + + ifeq ($(MEMSUPER), 2) + DEFINES = -dMEMORY_SUPERVISION -dOPTIMIZE_POOL + endif + ifeq ($(MEMSUPER), 1) + DEFINES = -dMEMORY_SUPERVISION + endif + + 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 + endif + + ifeq ($(OS_ONLY), 1) + DEFINES += -d_OSX_ON_OS_ + else + COPTS+= -o3 + endif + + COPTS += -fr $(OBJDIR) -c + + INCLUDES += -I"." -I"..\..\INC" -I"..\..\INC\NUC" + + DEFINES += -d_TARGET_ -d_NUCLEUS_ + COPTSNF = $(COPTS) $(DEFINES) $(INCLUDES) + COMMLFLAGS = -rq $@ # only one command is allowed and it is "r" for replace + LFLAGS=$(COMMLFLAGS) + LIB = ar470 $(LFLAGS) + LIBEXT=lib + OSX_LIB=$(LIBDIR)/osx$(XXX).$(LIBEXT) + OBJTAIL=obj + + clean: + @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(TS)/*.obj + @$(RM) $(OSX_LIB) + + +endif # platform: arm7 +endif # target: nucleus + + +#---------- Special settings for each target: for Nucleus/arm9 +ifeq ($(TARGET), nuc) + ifeq ($(PLATFORM), arm9) + + INCLUDES = -I"." -I"..\..\INC" -I"..\..\INC\NUC" + + 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 + COPTS += -gt + # toolsets 3 und 5 + endif + COPTS += -mn + endif + + LINT_OPTS = $(LINT_INC) -I"$(subst \,/,$(C_DIR))" -u $(LINT_OPT_FILE) + + ifeq ($(MEMSUPER), 2) + DEFINES = -dMEMORY_SUPERVISION -dOPTIMIZE_POOL + endif + ifeq ($(MEMSUPER), 1) + DEFINES = -dMEMORY_SUPERVISION + endif + + ifeq ($(OS_ONLY), 1) + DEFINES += -d_OSX_ON_OS_ + endif + + COPTS += -fr $(OBJDIR) -c + + DEFINES += -d_TARGET_ -d_NUCLEUS_ + COPTSNF = $(COPTS) $(DEFINES) $(INCLUDES) + COMMLFLAGS = -rq $@ # only one command is allowed and it is "r" for replace + LFLAGS=$(COMMLFLAGS) + LIB=ar470 $(LFLAGS) + LIBEXT=lib + OSX_LIB=$(LIBDIR)/osx$(XXX).$(LIBEXT) + OBJTAIL=obj + + clean: + @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(RV)$(OPT)$(TS)/*.obj + @$(RM) $(OSX_LIB) + + +endif # platform: arm9 +endif # target: nucleus + +#----------NucleusWin +ifeq ($(TARGET), nuc) + ifeq ($(PLATFORM), pc) + + CC=cl + COPTS = /c /nologo /W3 /GX /Zp1 /GZ + INCLUDES = -I"." -I"..\..\inc" -I"..\..\inc\nuc" + 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"_OSX_ON_OS_" + endif + + ifeq ($(MEMSUPER), 2) + DEFINES += -D"MEMORY_SUPERVISION" -D"OPTIMIZE_POOL" + endif + ifeq ($(MEMSUPER), 1) + DEFINES += -D"MEMORY_SUPERVISION" + 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?? + LIB=LIB /out:$@ $(LFLAGS) + LIBEXT=lib + OBJTAIL=obj + OSX_LIB=$(LIBDIR)/osx$(XXX).$(LIBEXT) + + clean: + @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(OSAL)$(PS)$(RV)/*.obj + @$(RM) $(OSX_LIB) + + endif +endif # nucleus && pc + +ifeq ($(OSENV), sus) + + #_OS_LAYER += os_ctb.o + OS_LAYER_SRC:=./$(OSENV)/ + COPTS = -c -o$(OBJDIR)/$@ + INCLUDES = -I. -I../../inc/$(OSENV) -I../../inc + ifeq ($(TARGET), linuxtool) + DEFINES += -D_TOOLS_ + endif + + DEFINES += -DPURE_USER_MODE #-DGSP_OSL_LOG + ifeq ($(OS_ONLY), 1) + DEFINES += -D_OSX_ON_OS_ + 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_ -DGSP_OSL_LOG + else + ifeq ($(TARGET), solsparc) + CC=gcc + MKLIB= ar ruv $@ + RANLIB= ranlib + DEFINES += -D_SOLARIS_ -D_LINUX_ + else + CC=gcc + MKLIB= ar ruv $@ + RANLIB= ranlib + DEFINES += -D_LINUX_ + endif + endif + endif + COPTSNF += $(COPTS) $(DEFINES) $(INCLUDES) + COPTS_FILE = + INCLUDELIST=$(subst /I ,-I,$(INCLUDES)) + DEFINELIST=$(subst /D ,-D,$(DEFINES)) + + LIB=ar ruv $@ + LIBEXT=a + OBJTAIL=o + OSX_LIB=$(LIBDIR)/libosx$(XXX).$(LIBEXT) + + clean: + @$(RM) obj/$(TARGET)/$(PLATFORM)$(DB)$(PS)/*.$(OBJTAIL) + @$(RM) $(FRAME_LIB) + +endif # osenv = sus +######################### osx.lib ################################## +OSX_INC = ../../inc/typedefs.h ../../inc/vsi.h ../../inc/header.h cust_os.h + +OSX_SRC=./ + +_OSX_OBJS = osx.$(OBJTAIL) +OSX_OBJS=$(patsubst %.$(OBJTAIL),$(OBJDIR)/%.$(OBJTAIL),$(_OSX_OBJS)) + + +foo: + echo $(OSX_OBJS) + echo $(_OSX_OBJS) + echo $(OBJDIR) + echo $(OBJTAIL) + +osx.$(LIBEXT): $(COPTS_FILE) $(OSX_LIB) + +$(OBJDIR) : + $(MKDIR) -p $(OBJDIR) + +$(OSX_LIB) : $(OBJDIR) $(COPTS_FILE) $(_OSX_OBJS) makefile +# OWN_MAKELEVEL == 0 if makefile called directly, == 1 if nested + ifneq ($(OWN_MAKELEVEL), 0) + @echo checking out and touching using $(MAKE) + $(CHECKOUT) $@ + touch -c $@ + else + gnumake MAKE=gnumake OWN_MAKELEVEL=1 $(subst \,/,$@ $<) + @echo proceeding using $(MAKE) + $(LIB) $(OSX_OBJS) + ifeq ($(OSENV), sus) + $(RANLIB) $@ + endif + endif + + +$(_OSX_OBJS) : %.$(OBJTAIL) : $(OSX_SRC)/%.c $(OSX_INC) +# $(LINT) $(LINT_OPTS) $(DEFINES) $(INCLUDES) $< + $(CC) $(COPTSNF) $<