📄 makefile
字号:
!IF "$(FILESYS_REPLACE_COMPONENTS)" != ""
$(FILESYS_REPLACE_COMPONENTS)::
@set SOURCELIBS=%%SOURCELIBS%% $(_PROJECTROOT)\oak\lib\$(_CPUINDPATH)\$@.lib
!ENDIF
filesys::$(FILESYS_COMPONENTS) $(FILESYS_REPLACE_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=OAK
@set EXEENTRY=WinMain
$(MAKECMD) /NOLOGO $@.exe
!IF "$(PM_COMPONENTS)" != ""
pm::
@set SOURCELIBS=
@set TARGETLIBS=$(SG_OUTPUT_SDKLIB)\coredll.lib
pm_mdd pm_battery pm_default_pdd pm_pda_pdd pmstubs:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@_lib.lib
pm:: $(PM_COMPONENTS)
@set RELEASETYPE=OAK
@set TARGETTYPE=DYNLINK
@set DLLENTRY=DllEntry
@set DEFFILE=$(_COMMONOAKROOT)\inc\$@.def
@set TARGETNAME=$@
$(MAKECMD) /NOLOGO $(SG_OUTPUT_OAKTGT)\$@.dll
!ELSE # "$(PM_COMPONENTS)" != ""
pm::
!ENDIF # "$(PM_COMPONENTS)" != ""
device:: pm
@set SOURCELIBS=
@set TARGETLIBS=$(SG_OUTPUT_SDKLIB)\coredll.lib
device::$(DEVICE_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=OAK
@set EXEENTRY=WinMain
$(MAKECMD) /NOLOGO $@.exe
pmif::
@set TARGETLIBS=%%TARGETLIBS%% $(SG_OUTPUT_OAKLIB)\pm.lib
devmain pmif nopmif::
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
!IFNDEF FSDMGR_COMPONENTS
FSDMGR_COMPONENTS=fsdmain fsdserv storemgr fsdnot
!ENDIF
fsdmgr::
@set SOURCELIBS=
@set TARGETLIBS=$(SG_OUTPUT_SDKLIB)\coredll.lib
fsdmgr::$(FSDMGR_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=OAK
@set DLLENTRY=DllMain
@set DEFFILE=$(SG_INPUT_LIB)\$@.def
$(MAKECMD) /NOLOGO $@.dll
storemgr:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
-@xcopy /D /I $(SG_INPUT_LIB)\storeapi.lib $(SG_OUTPUT_OAKLIB)
fsdmain:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
fsdserv:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
fsdnot:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
coredll::
@set SOURCELIBS=
@set COREDLL_RES=$(SG_INPUT_LIB)\$(COREDLL_LANGID)\coreres.res
coredll::$(COREDLL_REPLACE) $(COREDLL_REPLACE_COMPONENTS) $(COREDLL_MESSAGEDIALOGBOXCUSTOMIZE_COMPONENT) $(COREDLL_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=SDK
@set SOURCEPDBS=$(SG_INPUT_LIB)\mgdi.pdb
@set DLLENTRY=CoreDllInit
!IF "$(COREDLL_LANGID)" != "."
-res2res -c %%COREDLL_RES%% -fo $(SG_OUTPUT_OAKTGT)\$(COREDLL_LANGID)\$@.res
!ELSE
res2res -c %%COREDLL_RES%% -fo $(SG_OUTPUT_OAKTGT)\0409\$@.res
@set TARGETLIBS=$(SG_INPUT_LIB)\corestub.lib $(SG_OUTPUT_OAKTGT)\0409\$@.res
$(MAKECMD) /NOLOGO $@.dll
!ENDIF
# COREDLL_REPLACE needs to come *before* the explict rules for coredll components. That way the
# first rule (i.e. this one) will get used when we are replacing.
#
# If we are doing coredll component replacement or have the Message/Dialog Box component,
# then coredll is being built for a 2nd time during
# postproc. However during preproc the coredll_all.lib was already built. We now need to force it
# to be rebuilt. We do this by deleting it. Ugh.
# Component and resource files.
!IF "$(COREDLL_REPLACE)" != ""
$(COREDLL_REPLACE):
-@del $(DELFLAGS) $(SG_OUTPUT_OAKLIB)\coredll_ALL.lib > nul $(SG_XCOPYREDIRECT)
@set SOURCELIBS=%%SOURCELIBS%% $(_PROJECTROOT)\oak\lib\$(_CPUINDPATH)\$@.lib
@set COREDLL_RES=%%COREDLL_RES%% $(_PROJECTROOT)\oak\lib\$(_CPUINDPATH)\$(COREDLL_LANGID)\$@.res
!ENDIF
# Component only, no resource files.
!IF "$(COREDLL_REPLACE_COMPONENTS)" != ""
$(COREDLL_REPLACE_COMPONENTS):
-@del $(DELFLAGS) $(SG_OUTPUT_OAKLIB)\coredll_ALL.lib > nul $(SG_XCOPYREDIRECT)
@set SOURCELIBS=%%SOURCELIBS%% $(_PROJECTROOT)\oak\lib\$(_CPUINDPATH)\$@.lib
!ENDIF
# Message/Dialog Box component.
!IF "$(COREDLL_MESSAGEDIALOGBOXCUSTOMIZE_COMPONENT)" != ""
$(COREDLL_MESSAGEDIALOGBOXCUSTOMIZE_COMPONENT):
-@del $(DELFLAGS) $(SG_OUTPUT_OAKLIB)\coredll_ALL.lib > nul $(SG_XCOPYREDIRECT)
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
!ENDIF
## The components of COREDLL ##
coremain coreloc locusa lmem thunks fiber serdev devload rectapi wmgr_c accel_c tapilib mmacm mmacmui mmwave mmsnd mmmix fmtmsg cryptapi rsa32 mgdi_c fpemul corecrt coreimm coreimmstub coregwestub coresip asyncio multiui messagedialogboxthunk devmgmt fileinfo:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
## Filter only components of COREDLL, these filter in/out features from coredll.def
full_crt nostrsafe muireg secloader crypthash:
## Mini version of locale support. Uses LocUSA but restricts the API's supported
locmini:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\locusa.lib
# These components have RES files that go with them
shexec shcore shortcut shmisc fileopen:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
@set COREDLL_RES=%%COREDLL_RES%% $(SG_INPUT_LIB)\$(COREDLL_LANGID)\$@.res
# These components have ONLY RES files
fmtres:
@set COREDLL_RES=%%COREDLL_RES%% $(SG_INPUT_LIB)\$(COREDLL_LANGID)\$@.res
# These components are used for filtering in sysgen. They aren't real libs ...
shellapis corestra corestrw coresioa coresiow battery:
corelibc::
@set SOURCELIBS=
@xcopy $(SG_INPUT_LIB)\ccrt*.pdb $(SG_OUTPUT_OAKLIB)
@xcopy $(SG_INPUT_LIB)\strsafea.pdb $(SG_OUTPUT_OAKLIB)
corelibc::$(CORELIBC_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=SDK
@set TARGETLIBS=
@set SOURCEPDBS=
@set TARGETTYPE=LIBRARY
$(MAKECMD) /NOLOGO $(SG_OUTPUT_SDKLIB)\$@.lib
ccrtstrt:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
ws2::
@set SOURCELIBS=$(SG_INPUT_LIB)\ws2.lib
ws2::$(WS2_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=SDK
@set TARGETLIBS=$(SG_OUTPUT_SDKLIB)\coredll.lib
@set DLLENTRY=dllentry
$(MAKECMD) /NOLOGO $@.dll
winsock::ws2
@set SOURCELIBS=$(SG_INPUT_LIB)\winsock.lib $(SG_OUTPUT_SDKLIB)\ws2.lib
winsock::$(WINSOCK_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=SDK
@set TARGETLIBS=$(SG_OUTPUT_SDKLIB)\coredll.lib
@set DLLENTRY=dllentry
$(MAKECMD) /NOLOGO $@.dll
sslsock:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
cxport::
@set SOURCELIBS=$(SG_INPUT_LIB)\cxport.lib
cxport::$(CXPORT_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=SDK
@set TARGETLIBS=$(SG_OUTPUT_SDKLIB)\coredll.lib
@set DLLENTRY=dllentry
$(MAKECMD) /NOLOGO $@.dll
dubftp:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
audevman:
@set TARGETNAME=$@
@set RELEASETYPE=OAK
@set TARGETLIBS=$(SG_OUTPUT_SDKLIB)\coredll.lib
@set DLLENTRY=DllMain
@set SOURCELIBS=$(SG_INPUT_LIB)\audevman.lib $(SG_INPUT_LIB)\swmixer.lib
@set TARGETTYPE=DYNLINK
@set DEFFILE=$(SG_INPUT_LIB)\$@.def
$(MAKECMD) /NOLOGO $(SG_OUTPUT_OAKTGT)\$@.dll
## The possible components of WaveAPI ##
wapiwave wapiacm wapiacmui wapimap:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
waveapi:: audevman
waveapi::
@set SOURCELIBS=
-@del $(DELFLAGS) $(SG_OUTPUT_OAKLIB)\$@_ALL.lib > nul $(SG_XCOPYREDIRECT)
waveapi:: $(WAVEAPI_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=OAK
@set DLLENTRY=WaveApiDllEntry
@set TARGETLIBS=%%TARGETLIBS%% $(SG_OUTPUT_OAKLIB)\audevman.lib
@set TARGETLIBS=%%TARGETLIBS%% $(SG_INPUT_LIB)\wapistub.lib
!IF "$(WAVEAPI_REPLACE)" != ""
@echo Replacing the WaveAPI UI!
@set SOURCELIBS=%%SOURCELIBS%% $(_PROJECTROOT)\oak\lib\$(_CPUINDPATH)\waveui.lib $(_PROJECTROOT)\oak\lib\$(_CPUINDPATH)\$@.res
!ELSE
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\waveui.lib
!ENDIF
@set TARGETTYPE=DYNLINK
@set DEFFILE=$(SG_INPUT_LIB)\$@.def
$(MAKECMD) /NOLOGO $@.dll
btd::ceosutil bthguid $(BTD_DRIVERS)
@set SOURCELIBS=
btd::$(BTD_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=SDK
@set TARGETLIBS=$(SG_INPUT_LIB)\cclib.lib $(SG_OUTPUT_SDKLIB)\ceosutil.lib $(SG_OUTPUT_SDKLIB)\coredll.lib $(SG_OUTPUT_SDKLIB)\bthguid.lib $(SG_INPUT_LIB)\btstubs.lib
@set DLLENTRY=_DllMainCRTStartup
$(MAKECMD) /NOLOGO $@.dll
hci:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\bthci.lib
l2cap:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\l2cap.lib
sdp:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\sdpbase.lib $(SG_INPUT_LIB)\sdpparse.lib
rfcomm:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\rfcomm.lib
portemu:
@set SOURCELIBS=%%SOURCELIBS%%
tdi:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\bttdi.lib
sys:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\btsysd.lib
uart:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\bthuart.lib
amb:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\bthamb.lib
sc:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\bthsc.lib
csr:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\bcsp.lib
usb:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_OUTPUT_OAKLIB)\bthusb.lib
univ:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_OUTPUT_OAKLIB)\bthuniv.lib
btaudiogw::btdrt
@set SOURCELIBS=$(SG_INPUT_LIB)\$@.lib
btaudiogw::$(BTAUDIOGW_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=SDK
@set TARGETLIBS=$(SG_OUTPUT_SDKLIB)\coredll.lib $(SG_OUTPUT_OAKLIB)\btdrt.lib
@set DLLENTRY=_DllMainCRTStartup
$(MAKECMD) /NOLOGO $@.dll
bthsagw_ce bthsagw_mdd:
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\$@.lib
tchmdd::
@set TARGETTYPE=LIBRARY
@set TARGETNAME=$@
@set RELEASETYPE=OAK
@set TARGETLIBS=
!IFDEF SYSGEN_TRANSCRIBER
@set SOURCELIBS=$(SG_INPUT_LIB)\tchmain.lib $(SG_INPUT_LIB)\tch_trns.lib
echo touch includes transcriber hooks
!ELSE
@set SOURCELIBS=$(SG_INPUT_LIB)\tchmain.lib $(SG_INPUT_LIB)\tchbasic.lib
echo touch is minimal
!ENDIF
$(MAKECMD) /NOLOGO $(SG_OUTPUT_OAKLIB)\$@.lib
#
#
# These are all the modules which are not componentized at all. They are simply copied over
# as part of the sysgen process
#
nkcompr nknocomp nkmapfile nknomapfile::
set NKLIBS=%%NKLIBS%% $(SG_INPUT_LIB)\$@.lib
nk::
set NKLIBS=
nk::$(NK_COMPONENTS)
set TARGETTYPE=LIBRARY
set TARGETNAME=$@
set RELEASETYPE=OAK
set TARGETLIBS=
set SOURCELIBS=%%NKLIBS%% $(SG_INPUT_LIB)\nkmain.lib
$(MAKECMD) /NOLOGO $(SG_OUTPUT_OAKLIB)\$@.lib
nkprof::nk
set TARGETTYPE=LIBRARY
set TARGETNAME=$@
set RELEASETYPE=OAK
set TARGETLIBS=
set SOURCELIBS=%%NKLIBS%% $(SG_INPUT_LIB)\nkprmain.lib
$(MAKECMD) /NOLOGO $(SG_OUTPUT_OAKLIB)\$@.lib
httplite:: ws2
@set SOURCELIBS=$(SG_INPUT_LIB)\httplite.lib
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -