tweak for building in fedora20
[ipfw-google.git] / kipfw / mysetenv.sh
1 #!/bin/bash
2
3 # bash script to set a suitable environment to call MSVC's build
4 # to build a 64-bit version of the kernel.
5 #
6 # inspired by C:/winddk/7600.16385.1/bin/setenv.bat
7 # see http://www.osronline.com/ddkx/ddtools/build_ref_0kqb.htm
8
9 #############################################################
10 #  edit theese variables to meet your configuration         #
11 #  - DRIVE is the hard drive letter where DDK is installed  #
12 #  - DDK is the path to the DDK's root directory            #
13 #  - CYGDDK is the complete cygwin path to DDK              #
14 #############################################################
15 if [ $# -ne 3 ]; then
16 echo "invalid params" && exit 1
17 fi
18 DRIVE=$1
19 DDK=$2
20 CYGDDK=/cygdrive/c/${DDK}
21 TARGETOS=$3
22 MYDIR=`pwd`     # XXX luigi
23
24 if [ "$TARGETOS" = "wnet" ]; then
25 export DDK_TARGET_OS=WinNET
26 export _NT_TARGET_VERSION=0x502
27 fi
28
29 if [ "$TARGETOS" = "wlh" ]; then
30 export DDK_TARGET_OS=WinLH
31 export _NT_TARGET_VERSION=0x600
32 fi
33
34 if [ "$TARGETOS" = "win7" ]; then
35 export DDK_TARGET_OS=Win7
36 export _NT_TARGET_VERSION=0x601
37 fi
38
39
40 #############################################################
41 #  don't edit anything else below this point                #
42 #############################################################
43
44 D=${DRIVE}${DDK}
45 DB=${D}/bin
46 DI=${D}/inc
47 DL=${D}/lib
48
49
50 export AMD64=1
51 export ATL_INC_PATH=$DI                         # defaults to DDKROOT/inc
52 export ATL_INC_ROOT=$DI                         # XXX redundant ?
53 export ATL_LIB_PATH=${DL}/atl/*
54 export BASEDIR=$D                               # default
55 export BUFFER_OVERFLOW_CHECKS=1
56 export BUILD_ALLOW_COMPILER_WARNINGS=1
57 export BUILD_ALT_DIR=chk_${TARGETOS}_AMD64
58 export BUILD_DEFAULT="-ei -nmake -i -nosqm"     # can go on the command line
59 export BUILD_DEFAULT_TARGETS="-amd64"           # can also go on the command line
60 export BUILD_MAKE_PROGRAM=nmake.exe             # default to nmake
61 export BUILD_MULTIPROCESSOR=1                   # parallel make, same as -M
62 export BUILD_OPTIONS=" ~imca ~toastpkg"
63 export COFFBASE_TXT_FILE=${DB}/coffbase.txt
64 export CPU=AMD64
65 export CRT_INC_PATH=${DI}/crt                   # default
66 export CRT_LIB_PATH=${DL}/crt/*                 # not default, it seems uses lib/{wnet,win7}/*
67 export DDKBUILDENV=chk                          # checked or free
68 export DDK_INC_PATH=${DI}/ddk
69 export DDK_LIB_DEST=${DL}/${TARGETOS}
70 export DDK_LIB_PATH=${DL}/${TARGETOS}/*
71 export DEPRECATE_DDK_FUNCTIONS=1
72 export DRIVER_INC_PATH=${DI}/ddk
73 export HALKIT_INC_PATH=${DI}/ddk
74 export HALKIT_LIB_PATH=${DL}/${TARGETOS}/*
75 export IFSKIT_INC_PATH=${DI}/ddk
76 export IFSKIT_LIB_DEST=${DL}/${TARGETOS}
77 export IFSKIT_LIB_PATH=${DL}/${TARGETOS}/*
78 export Include=${DI}/api
79 export KMDF_INC_PATH=${DI}/wdf/kmdf
80 export KMDF_LIB_PATH=${DL}/wdf/kmdf/*
81 export LANGUAGE_NEUTRAL=0
82 export Lib=${DL}
83 export LINK_LIB_IGNORE=4198
84 export MFC_INC_PATH=${DI}/mfc42
85 export MFC_LIB_PATH=${DL}/mfc/*
86 export MSC_OPTIMIZATION="/Od /Oi" 
87 export NEW_CRTS=1
88 export NO_BINPLACE=TRUE
89 export NO_BROWSER_FILE=TRUE
90 export NTDBGFILES=1
91 export NTDEBUG=ntsd
92 export NTDEBUGTYPE=both
93 # need NTMAKEENV to point to the binary dir
94 export NTMAKEENV=${DB}
95 export OAK_INC_PATH=${DI}/api
96
97 export PATH="${CYGDDK}/bin/amd64:${CYGDDK}/tools/sdv/bin:${CYGDDK}/tools/pfd/bin/bin/x86_AMD64\
98 :${CYGDDK}/bin/SelfSign:${CYGDDK}/bin/x86/amd64:${CYGDDK}/bin/x86\
99 :${CYGDDK}/tools/pfd/bin/bin/AMD64:${CYGDDK}/tools/tracing/amd64:$PATH"
100
101 export PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
102 export PROJECT_ROOT=${D}/src
103 export PUBLIC_ROOT=${D}
104 export RAZZLETOOLPATH=${DB}
105 export RCNOFONTMAP=1
106 export SDK_INC_PATH=${DI}/api
107 export SDK_LIB_DEST=${DL}/${TARGETOS}
108 export SDK_LIB_PATH=${DL}/${TARGETOS}/*
109 export SDV=${D}/tools/sdv
110 export separate_object_root=FALSE
111 export TEMP=tmpbuild
112 export TMP=tmpbuild
113 export UMDF_INC_PATH=${DI}/wdf/umdf
114 export USE_OBJECT_ROOT=1
115 export WDM_INC_PATH=${DI}/ddk
116 export WPP_CONFIG_PATH=${DB}/wppconfig
117 export _AMD64bit=true
118 export _BUILDARCH=AMD64
119 export _BuildType=chk
120 export _NTDRIVE=${DRIVE}
121 export _NTROOT=${DDK}
122 #
123 # --- XXX note, it spams  C:/winddk/7600.16385.1/build.dat
124 # -c: delete objs, -e: generare build.* logfiles, -f rescan sources, -g color errors
125 unset MAKEFLAGS
126 echo "emv ${MAKE} flags ${MAKEFLAGS}"
127 cd kipfw-mod && build -cefg 
128 echo "done"
129 #cp objchk_${TARGETOS}_amd64/amd64/ipfw.sys ../binary/ipfw.sys