# PE Builder Makefile # Copyright (c) 2003-2006, Ross Smith (http://smithii.com/). All rights reserved. # $Id$ # TODO # check if # 7-Zip 4.32 # Ad-Aware SE Personal 1.05+ # Acrobat 6.00+ # Acrobat 7.00+ # AlZip 5.51+ (7zip 4.37 beta can extract files from ISOs, so can bsdtar, at least on some systems) # IrfanView 3.98+ # Partition Magic 8+ # TextPad 4.73+ # V-Opt 7.22+ # WinRAR 3.51+ # are installed in Program Files # and if not, then ask the user, before attempting to install # Requires the following: # Cygwin exe's (bash chmod cp cygpath echo make mkdir mv pwd rm sed sh tar test touch true wget) # Cygwin dll's (cygssl.dll cygcrypto.dll, cygintl.dll, cygiconv.dll) # This script will attempt to install 7-Zip in your "Program Files" directory. # If you choose not to install 7-Zip, the script will fail. # This script will attempt to install AlZip in your "Program Files" directory. # If you choose not to install AlZip, the vmware plugin will not be installed # If you know of a freeware command line ISO file extractor, please let me know: # This script will attempt to install the following applications in your Program Files directory: # Ad-Aware SE Personal # IrfanView 3.98 # Partition Magic 8 # TextPad 4.73 # V-Opt 7.22 # WinRAR 3.51 # If you choose not to install one or more of these applications, the script will *not* fail. # To use: # 1. Change values below to match your system (i.e., PROGRAMFILES, etc.) # 2. Insert Slipstreamed Windows XP disk in your CD drive (or use a local/network copy) # 3. Select Start/Programs/Cygwin/Cygwin Bash Shell (or at a DOS prompt, type 'bash') # 4. Type: cd pebuilder # 5. Type: make # Running make inside another program (such as SecureCRT's) may now allow native Windows applications to display correctly. # program versions ASPI_VER ?=471a2 FILEZILLA_VER ?=2_2_19a IRFANVIEW_VER ?=398 MCAFEE_VER ?=4721 OPENVPN_GUI_VER ?=1.0.3 PEBUILDER_VER ?=3110a SEVENZIP_VER ?=432 TEXTPAD_VER ?=473 TIGHTVNC_VER ?=1.3dev7 TOTAL_COMMANDER_VER ?=654a VOPT_VER ?=722 WINRAR_VER ?=351 WINSCP_VER ?=380 ZTREE_VER ?=150 ZTREEBETA_VER ?= # http://www.adaptec.com/worldwide/support/drivers_by_product.jsp?sess=no&language=English+US&cat=%2FProduct%2FASPI-4.70&prodkey=ASPI-4.70#Microsoft%20Windows%20XP # http://sourceforge.net/project/showfiles.php?group_id=21558 # http://www.irfanview.com/ # # http://openvpn.net/ # http://www.nu2.nu/pebuilder/ # http://www.7-zip.org/ # http://www.textpad.com/download/ # http://www.tightvnc.com/download.html # http://www.ghisler.com/download.htm # http://www.vopt.com/VoptXPd.htm # http://www.rarlabs.com/download.htm # http://winscp.sourceforge.net/eng/download.php # http://www.ztree.com/html/ztreewin.htm # http://www.ztree.com/html/beta.htm # CD Disk Label (11 characters max) # 12345678901 VOLID ?=BartPE_$(PEBUILDER_VER) OUTDIR ?=BartPE # CD-ROM drive/folder containing Slipsteamed Windows XP SP1 or SP2 disk #XP_CD ?=C:\\X1APCCP_EN\\X1APCCP_EN_cd XP_CD ?=D:\nliteos # can be blank CUSTOM_DIR_WIN ?= # not used??? # Windows drive letter for CD drive containing original Windows XP disk (e.g., 'D:') CD ?=D: # cdrecord device for the CD-R drive to burn the new disk (e.g., '0,0,0', run 'cdrecord -scanbus' to discover) CD_DEV ?=1,0,0 # cdrecord options, if any (e.g., -gracetime=2 -driveropts=burnfree) CDRECORD_OPTS ?= # Text to ask the user to write on the CD after burning it CD_LABEL ?=BartPE Version $(PEBUILDER_VER) # Set to Y to wait until you press Enter before burning CD (CD and CD_DEV above refer to the same drive) PAUSE ?=Y # Customize these as needed # "Program Files" directory PROGRAMFILES ?=C:\\Program Files ACROREAD6_DIR_WIN ?=$(PROGRAMFILES)\\Adobe\\Acrobat 6.0 ACROREAD7_DIR_WIN ?=$(PROGRAMFILES)\\Adobe\\Acrobat 7.0 ADAWARE_DIR_WIN ?=$(PROGRAMFILES)\\Lavasoft\\Ad-Aware SE Personal ALZIP_DIR_WIN ?=$(PROGRAMFILES)\\ESTsoft\\ALZip GETDATABACK_DIR_WIN ?=$(PROGRAMFILES)\\Runtime Software\\GetDataBack GETDATABACK_NTFS_DIR_WIN ?=$(PROGRAMFILES)\\Runtime Software\\GetDataBack for NTFS GHOST8_DIR_WIN ?=$(PROGRAMFILES)\\Symantec\\Ghost IRFANVIEW_DIR_WIN ?=$(PROGRAMFILES)\\IrfanView OPENVPN_DIR_WIN ?=$(PROGRAMFILES)\\OpenVPN PMAGIC8_DIR_WIN ?=$(PROGRAMFILES)\\PowerQuest\\PartitionMagic 8.0 # Intel e100/e1000 NIC driver files PRO2KXP_DIR_WIN ?=C:\\Intel9.1 # This must be set correctly! SEVENZIP_DIR_WIN ?=$(PROGRAMFILES)\\7-Zip TEXTPAD_DIR_WIN ?=$(PROGRAMFILES)\\TextPad 4 TOTAL_COMMANDER_DIR_WIN ?=C:\\totalcmd VMWARE_DIR_WIN ?=$(PROGRAMFILES)\\VMware\\VMware Workstation VOPT_DIR_WIN ?=$(PROGRAMFILES)\\VoptXP v7 WINRAR_DIR_WIN ?=$(PROGRAMFILES)\\WinRAR ADAWARE_EXE ?=aawsepersonal.exe ASPI_EXE ?=aspi_$(ASPI_VER).exe GETDATABACK_ZIP ?=gdb.zip GETDATABACK_NTFS_ZIP ?=gdbnt.zip FILEZILLA_ZIP ?=FileZilla_$(FILEZILLA_VER).zip IRFANVIEW_EXE ?=iview$(IRFANVIEW_VER).exe MCAFEE_EXE ?=sdat$(MCAFEE_VER).exe OPENVPN_GUI_EXE ?=openvpn-gui-$(OPENVPN_GUI_VER).exe SEVENZIP_EXE ?=7z$(SEVENZIP_VER).exe WINRAR_EXE ?=wrar$(WINRAR_VER).exe TEXTPAD_EXE ?=txpeng$(TEXTPAD_VER).exe TIGHTVNC_ZIP ?=tightvnc-$(TIGHTVNC_VER)_x86.zip TOTAL_COMMANDER_EXE ?=tcmd$(TOTAL_COMMANDER_VER).exe VOPT_EXE ?=VXP_v$(VOPT_VER).exe WINSCP_EXE ?=winscp$(WINSCP_VER).exe PEBUILDER ?=pebuilder$(PEBUILDER_VER) PEBUILDER_ZIP ?=$(PEBUILDER).zip PEBUILDER_ISO ?=$(PEBUILDER)/pebuilder.iso SOURCEFORGE_URL ?=http://easynews.dl.sourceforge.net/sourceforge ADAWARE_URL ?=ftp://ftp.download.com/pub/win95/utilities/$(ADAWARE_EXE) ASPI_URL ?=http://download.adaptec.com/software_pc/aspi/$(ASPI_EXE) GETDATABACK_URL ?=http://www.runtime.org/$(GETDATABACK_ZIP) GETDATABACK_NTFS_URL ?=http://www.runtime.org/$(GETDATABACK_NTFS_ZIP) IRFANVIEW_URL ?=http://tucows.tierra.net/files2/$(IRFANVIEW_EXE) MCAFEE_URL ?=ftp://ftp.nai.com/CommonUpdater/$(MCAFEE_EXE) OPENVPN_GUI_URL ?=http://openvpn.se/files/binary/$(OPENVPN_GUI_EXE) SEVENZIP_URL ?=$(SOURCEFORGE_URL)/sevenzip/$(SEVENZIP_EXE) TEXTPAD_URL ?=http://download.textpad.com/download/v47/$(TEXTPAD_EXE) VOPT_URL ?=ftp://goldenbow.com/$(VOPT_EXE) WINRAR_URL ?=http://www.rarlab.com/rar/$(WINRAR_EXE) WINSCP_URL ?=$(SOURCEFORGE_URL)/winscp/$(WINSCP_EXE) NU2_MIRRORS=http://69.90.47.6/mybootdisks.com/mybootdisks_com/nu2 \ http://www.hamnerconsulting.com/nu2/mirrorfiles \ http://securitywonks.net/n2u/mirrorfiles \ http://securitywonks.org/n2u/mirrorfiles \ http://nu2.zone-x.com/mirrorfiles \ http://www.web-techs.net/bart \ http://sharkden.com/bart \ http://www.mirror.ac.uk/mirror/ftp.nu2.nu \ ftp://dl.xs4all.nl/pub/mirror/nu2files \ http://ftp.rz.tu-bs.de/pub/mirror/www.nu2.nu/nu2files \ http://downloads.planetmirror.com/pub/nu2files \ ftp://dlsrv3.winboard.org/nu2 \ http://217.160.177.182/nu2files \ http://bartpe.surfnow.nl \ http://gd.tuwien.ac.at/pc/nu2files \ http://nu2.abwehr.net \ http://nu2.gipsvagga.com \ http://nu2.phpwiz.dk \ http://nu2files.osterberg.org \ http://nu2mirror.frashii.com \ http://www.nu2.mostlycreativeworkshop.com/files PKZIPC ?=/cygdrive/c/PROGRA~1/pkware/pkzipc/pkzipc.exe PKZIPC_OPTS ?=-add=update -max -path=none WGET ?=wget -N # to quiet wget: #WGET ?=wget -N -nv ZIP ?=zip ZIP_OPTS ?=-9oquX ############################################################################### # YOU SHOULD NOT NEED TO CHANGE ANYTHING PAST THIS POINT ############################################################################### PEBUILDER_DOTTED_VER?=$(shell echo $(PEBUILDER_VER) | sed -e 's/\(.\)/\1./g' -e 's/\(.*\).$$/\1/g') SUPTOOLS_DIR_WIN ?=$(XP_CD)\\SUPPORT\\TOOLS BUILD_DIR ?=$(shell pwd) PEBUILDER_DIR ?=$(BUILD_DIR)/$(PEBUILDER) PLUGIN_DIR ?=$(PEBUILDER_DIR)/plugin DRIVERS_DIR ?=$(PEBUILDER_DIR)/drivers NET_DIR ?=$(DRIVERS_DIR)/Net SCSI_DIR ?=$(DRIVERS_DIR)/SCSIAdapter all: alltouch include local.mak define unix2dos $(shell cygpath -w "$(1)" | sed -e 's|/|\\|g') endef define dos2unix $(shell cygpath $(1) | sed -e 's/ /\\ /g') endef PEBUILDER_ISO_WIN =$(call unix2dos,"$(PEBUILDER_ISO)") PEBUILDER_DIR_WIN =$(call unix2dos,"$(PEBUILDER_DIR)") BUILD_DIR_WIN =$(call unix2dos,"$(BUILD_DIR)") PLUGIN_DIR_WIN =$(call unix2dos,"$(PLUGIN_DIR)") DRIVERS_DIR_WIN =$(call unix2dos,"$(DRIVERS_DIR)") NET_DIR_WIN =$(call unix2dos,"$(NET_DIR)") SCSI_DIR_WIN =$(call unix2dos,"$(SCSI_DIR)") ACROREAD6_DIR =$(call dos2unix,"$(ACROREAD6_DIR_WIN)") ACROREAD7_DIR =$(call dos2unix,"$(ACROREAD7_DIR_WIN)") ADAWARE_DIR =$(call dos2unix,"$(ADAWARE_DIR_WIN)") ALZIP_DIR =$(call dos2unix,"$(ALZIP_DIR_WIN)") GETDATABACK_DIR =$(call dos2unix,"$(GETDATABACK_DIR_WIN)") GETDATABACK_NTFS_DIR =$(call dos2unix,"$(GETDATABACK_NTFS_DIR_WIN)") GHOST8_DIR =$(call dos2unix,"$(GHOST8_DIR_WIN)") IRFANVIEW_DIR =$(call dos2unix,"$(IRFANVIEW_DIR_WIN)") OPENVPN_DIR =$(call dos2unix,"$(OPENVPN_DIR_WIN)") PMAGIC8_DIR =$(call dos2unix,"$(PMAGIC8_DIR_WIN)") PRO2KXP_DIR =$(call dos2unix,"$(PRO2KXP_DIR_WIN)") SEVENZIP_DIR =$(call dos2unix,"$(SEVENZIP_DIR_WIN)") SUPTOOLS_DIR =$(call dos2unix,"$(SUPTOOLS_DIR_WIN)") TEXTPAD_DIR =$(call dos2unix,"$(TEXTPAD_DIR_WIN)") TOTAL_COMMANDER_DIR =$(call dos2unix,"$(TOTAL_COMMANDER_DIR_WIN)") VMWARE_DIR =$(call dos2unix,"$(VMWARE_DIR_WIN)") VOPT_DIR =$(call dos2unix,"$(VOPT_DIR_WIN)") WINRAR_DIR =$(call dos2unix,"$(WINRAR_DIR_WIN)") .PHONY: \ $(ACROREAD6_DIR) \ $(ACROREAD7_DIR) \ $(ADAWARE_DIR) \ $(ALZIP_DIR) \ $(GETDATABACK_DIR) \ $(GETDATABACK_NTFS_DIR) \ $(GHOST8_DIR) \ $(IRFANVIEW_DIR) \ $(OPENVPN_DIR) \ $(PMAGIC8_DIR) \ $(PRO2KXP_DIR) \ $(SEVENZIP_DIR) \ $(SUPTOOLS_DIR) \ $(TEXTPAD_DIR) \ $(TOTAL_COMMANDER_DIR) \ $(VMWARE_DIR) \ $(VOPT_DIR) \ $(WINRAR_DIR) ALZIP =$(ALZIP_DIR)/alzip.exe SEVENZIP =$(SEVENZIP_DIR)/7z.exe ADAWARE_TOUCH =$(ADAWARE_EXE).touch ASPI_TOUCH =$(ASPI_EXE).touch FILEZILLA_TOUCH =$(FILEZILLA_ZIP).touch GETDATABACK_TOUCH =$(GETDATABACK_ZIP).touch GETDATABACK_NTFS_TOUCH =$(GETDATABACK_NTFS_ZIP).touch IRFANVIEW_TOUCH =$(IRFANVIEW_EXE).touch PEBUILDER_TOUCH =$(PEBUILDER).touch SEVENZIP_TOUCH =$(SEVENZIP_EXE).touch TEXTPAD_TOUCH =$(TEXTPAD_EXE).touch TIGHTVNC_TOUCH =$(TIGHTVNC_ZIP).touch TOTAL_COMMANDER_TOUCH =$(TOTAL_COMMANDER_EXE).touch VOPT_TOUCH =$(VOPT_EXE).touch WINRAR_TOUCH =$(WINRAR_EXE).touch WINSCP_TOUCH =$(WINSCP_EXE).touch COMSPEC_CYGWIN =$(shell cygpath "$(COMSPEC)") SYSTEM32_CYGWIN =$(shell dirname "$(COMSPEC_CYGWIN)") EXPAND =$(SYSTEM32_CYGWIN)/expand.exe .SUFFIXES: .SUFFIXES: .cab .touch .zip #****************************** # Macros #****************************** # download dir file url appname appver dir_win define download if [ ! -d $(1) ]; then \ if [ ! -f $(2) ]; then \ echo Downloading $(4) $(5), please install in "$(6)". ;\ $(WGET) $(3) ;\ fi ;\ echo Please install $(4) $(5) in "$(6)". ;\ chmod +x $(2) ;\ ./$(2) ;\ touch $(1) ;\ fi endef define download_norun if [ ! -d $(1) ]; then \ if [ ! -f $(2) ]; then \ echo Downloading $(4) $(5), please install in "$(6)". ;\ $(WGET) $(3) ;\ fi ;\ touch $(1) ;\ fi endef # unzip zip_or_cab touch define unzip mkdir -p "$(PLUGIN_DIR)/$(basename $(1))" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/$(basename $(1))" $(1) touch $(2) endef # unzip without paths define unzipe mkdir -p "$(PLUGIN_DIR)/$(basename $(1))" $(SEVENZIP) e -r -y -o"$(PLUGIN_DIR_WIN)/$(basename $(1))" $(1) touch $(2) endef define unzip_net mkdir -p "$(NET_DIR_WIN)" $(SEVENZIP) e -r -y -o"$(NET_DIR_WIN)" $(1) touch $(2) endef define unzipe_net mkdir -p "$(NET_DIR_WIN)/$(1)" $(SEVENZIP) e -r -y -o"$(NET_DIR_WIN)/$(1)" $(1) touch $(2) endef .PHONY: #****************************** # Applications #****************************** ########## # Adobe Acrobat Reader 6.0x # http://oss.netfarm.it/winpe ACROREAD6_CAB=acroread6-1.1.cab ACROREAD6_URL ?=$(SOURCEFORGE_URL)/winpe/$(ACROREAD6_CAB) $(ACROREAD6_CAB): $(WGET) $(ACROREAD6_URL) $(ACROREAD6_CAB).cab.touch: $(ACROREAD6_CAB) pebuilder mkdir -p "$(PLUGIN_DIR)/acroread6" $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/acroread6" $< touch $@ $(ACROREAD6_CAB).touch: $(ACROREAD6_DIR) $(ACROREAD6_CAB).cab.touch if [ ! -d $(ACROREAD6_DIR) ]; then \ echo "Acrobat 6.0 not found in '$(ACROREAD6_DIR_WIN)'" ;\ else \ mkdir -p "$(PLUGIN_DIR)/acroread6/files" ;\ cp -fprv $(ACROREAD6_DIR)/. "$(PLUGIN_DIR)/acroread6/files" ;\ find "$(PLUGIN_DIR)/acroread6/files" -name '*.bak' | xargs --no-run-if-empty rm -f ;\ touch $@ ;\ fi .PHONY: acroread6 acroread6: $(ACROREAD6_CAB).touch ########## # Adobe Acrobat Reader 7.0x # http://oss.netfarm.it/winpe ACROREAD7_CAB=acroread7-1.1.cab ACROREAD7_URL ?=$(SOURCEFORGE_URL)/winpe/$(ACROREAD7_CAB) $(ACROREAD7_CAB): $(WGET) $(ACROREAD7_URL) $(ACROREAD7_CAB).cab.touch: $(ACROREAD7_CAB) pebuilder mkdir -p "$(PLUGIN_DIR)/acroread7" $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/acroread7" $< touch $@ $(ACROREAD7_CAB).touch: $(ACROREAD7_DIR) $(ACROREAD7_CAB).cab.touch if [ ! -d $(ACROREAD7_DIR) ]; then \ echo "Acrobat 7.0 not found in '$(ACROREAD7_DIR_WIN)'" ;\ else \ mkdir -p "$(PLUGIN_DIR)/acroread7/files" "$(PLUGIN_DIR)/acroread7/sys" ;\ cp -fprv $(ACROREAD7_DIR)/. "$(PLUGIN_DIR)/acroread7/files" ;\ find "$(PLUGIN_DIR)/acroread7/files" -name '*.bak' | xargs --no-run-if-empty rm -f ;\ cp -fpv "$(SYSTEM32_CYGWIN)/atl71.dll" "$(SYSTEM32_CYGWIN)/msvcp71.dll" "$(SYSTEM32_CYGWIN)/msvcr71.dll" "$(PLUGIN_DIR)/acroread7/sys" ;\ touch $@ ;\ fi .PHONY: acroread7 acroread7: $(ACROREAD7_CAB).touch ########## # Ad-Aware # http://nu2.nu/pebuilder/help/adaware.htm $(ADAWARE_DIR): $(call download,$(ADAWARE_DIR),$(ADAWARE_EXE),$(ADAWARE_URL),"Ad-Aware",$(ADAWARE_VER),$(ADAWARE_DIR_WIN)) $(ADAWARE_TOUCH): $(ADAWARE_DIR) pebuilder if [ -d $(ADAWARE_DIR) ]; then \ mkdir -p "$(PLUGIN_DIR)/adawarese/files" ;\ ( cd $(ADAWARE_DIR) && \ cp -fpv \ Ad-aware.exe \ defs.ref \ Lang/default.awl \ "Skins/Ad-Aware SE default.ask" \ "$(PLUGIN_DIR)/adawarese/files" ) ;\ touch $@ ;\ fi .PHONY: adaware adaware: $(ADAWARE_TOUCH) ########## # AIDA32 # AIDA32_ZIP=aida32.zip AIDA32_TOUCH=$(AIDA32_ZIP).touch $(AIDA32_ZIP): $(WGET) http://aumha.org/downloads/aida32.zip $(AIDA32_ZIP)_unzip.touch: $(AIDA32_ZIP) pebuilder mkdir -p "$(PLUGIN_DIR)/aida32" $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/aida32" $< touch $@ aida32.cab: #404: $(WGET) http://www.hansonsystems.com/pebuilder/aida32.cab $(WGET) http://smithii.com/files/aida32.cab aida32.cab.touch: aida32.cab pebuilder mkdir -p "$(PLUGIN_DIR)/aida32" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/aida32" $< touch $@ $(AIDA32_TOUCH): $(AIDA32_ZIP)_unzip.touch aida32.cab.touch .PHONY: aida32 aida32: $(AIDA32_TOUCH) ########## # AlZip # http://www.altools.net/ # http://www.altools.net/Portals/0/alzip.exe ########## # AnalogX # http://www.stsanford.com/peplugins.htm ANALOGX_URL ?=http://www.stsanford.com/pebuilder/analogx.cab analogx.cab: $(WGET) $(ANALOGX_URL) analogx.cab.touch: analogx.cab pebuilder $(call unzip,$<,$@) .PHONY: analogx analogx: analogx.cab.touch ########## # Adaptec ASPI drivers # $(ASPI_EXE): $(WGET) $(ASPI_URL) $(ASPI_TOUCH): $(ASPI_EXE) pebuilder mkdir -p "$(PLUGIN_DIR)/aspi/files" $(SEVENZIP) e -r -y -o"$(PLUGIN_DIR_WIN)/aspi/files" $< cd "$(PLUGIN_DIR)/aspi/files" && \ $(EXPAND) aspi32.sy_ aspi32.sys ;\ $(EXPAND) aspi2k.sy_ aspi2k.sys ;\ $(EXPAND) wowpost.ex_ wowpost.exe ;\ $(EXPAND) wnaspi46.dl_ wnaspi46.dll ;\ $(EXPAND) wnaspi32.dl_ wnaspi32.dll ;\ $(EXPAND) wnaspi2k.dl_ wnaspi2k.dll ;\ $(EXPAND) winaspi.dl_ winaspi.dll touch $@ .PHONY: aspi aspi: $(ASPI_TOUCH) ########## # AutoRamDiskResizer: resizes ramdisk depending on installed ram, sources # http://oss.netfarm.it/winpe/ AUTORAMRESIZER_CAB ?=autoramresizer-1.9.cab AUTORAMRESIZER_URL ?=$(SOURCEFORGE_URL)/winpe/$(AUTORAMRESIZER_CAB) $(AUTORAMRESIZER_CAB): $(WGET) $(AUTORAMRESIZER_URL) $(AUTORAMRESIZER_CAB).touch: $(AUTORAMRESIZER_CAB) pebuilder mkdir -p "$(PLUGIN_DIR)/autoramresizer" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/autoramresizer" $< touch $@ .PHONY: autoramresizer autoramresizer: $(AUTORAMRESIZER_CAB).touch ########## # BuildScripts: Post-PE Builder build script # http://oss.netfarm.it/winpe/ BUILDSCRIPTS_ZIP ?=BuildScripts-20050322.zip BUILDSCRIPTS_URL ?=$(SOURCEFORGE_URL)/winpe/$(BUILDSCRIPTS_ZIP) $(BUILDSCRIPTS_ZIP): $(WGET) $(BUILDSCRIPTS_URL) $(BUILDSCRIPTS_ZIP).touch: $(BUILDSCRIPTS_ZIP) pebuilder $(SEVENZIP) x -r -y -o"$(PEBUILDER)" $< rm -fr "$(PEBUILDER)/isolinux" "$(PEBUILDER)/sources" cp -fprv $(PEBUILDER)/BuildScripts/. $(PEBUILDER) rm -fr "$(PEBUILDER)/sources" rm -fr $(PEBUILDER)/BuildScripts chmod +x "$(PEBUILDER)/InfCacheBuild.exe" "$(PEBUILDER)/wrapper.cmd" test -f wrapper.patch && cd "$(PEBUILDER)" && patch -p0 --binary <../wrapper.patch touch $@ .PHONY: buildscripts buildscripts: $(BUILDSCRIPTS_ZIP).touch ########## # Bginfo: Background Wallpaper Information # http://nu2.nu/pebuilder/help/bginfo.htm BGINFO_URL ?=http://www.sysinternals.com/files/bginfo.zip bginfo.zip: $(WGET) $(BGINFO_URL) bginfo.zip.touch: bginfo.zip pebuilder $(call unzip,$<,$@) .PHONY: bginfo bginfo: bginfo.zip.touch ########## # cmdutils: Command Line Utilities plugin # http://pages.infinit.net/goriol/peplugin.htm CMDUTILS_URL ?=http://pages.infinit.net/goriol/files/cmdutils.inf cmdutils.inf: $(WGET) $(CMDUTILS_URL) cmdutils.inf.touch: cmdutils.inf pebuilder mkdir -p $(PLUGIN_DIR)/cmdutils cp -fpv cmdutils.inf $(PLUGIN_DIR)/cmdutils touch $@ .PHONY: cmdutils cmdutils: cmdutils.inf.touch ########## # Cygwin: Unix Emulation Subsystem # http://cygwin.com/ cygwin.touch: pebuilder -if [ -d /bin ]; then \ chmod -R a+rwx $(PLUGIN_DIR)/cygwin/files ;\ rm -fr $(PLUGIN_DIR)/cygwin/files ;\ chmod +x $(PLUGIN_DIR)/cygwin/cygwin_files.sh ;\ ( cd "$(PLUGIN_DIR)/cygwin" && ./cygwin_files.sh ) ;\ fi ;\ touch $@ .PHONY: cygwin cygwin: cygwin.touch ########## # deepburner # DEEPBURNER_ZIP ?=DeepBurner1_Portable.zip DEEPBURNER_URL ?=http://web.starman.ee/swmirror/$(DEEPBURNER_ZIP) $(DEEPBURNER_ZIP): $(WGET) $(DEEPBURNER_URL) $(DEEPBURNER_ZIP).touch: $(DEEPBURNER_ZIP) pebuilder $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/deepburner/files" $< .PHONY: deepburner deepburner: $(DEEPBURNER_ZIP).touch ########## # EditPad: Text Editor # EDITPAD_URL ?=http://www.stsanford.com/pebuilder/editpad.cab editpad.cab: $(WGET) $(EDITPAD_URL) editpad.cab.touch: editpad.cab pebuilder $(call unzip,$<,$@) .PHONY: editpad editpad: editpad.cab.touch ########## # Erunt: Registry Backup/Restore Tool # ERUNT_ZIP_URL ?=http://www.derfisch.de/lars/erunt.zip erunt.zip: $(WGET) $(ERUNT_ZIP_URL) erunt.zip.touch: erunt.zip pebuilder $(call unzip,$<,$@) ERUNT_CAB_URL ?=http://www.xppe.com/files/erunt.cab erunt.cab: $(WGET) $(ERUNT_CAB_URL) erunt.touch: erunt.cab erunt.zip.touch pebuilder @# not unzipe $(call unzipe,$<,$@) @# create files listed in .inf that are no longer part of erunt touch "$(PLUGIN_DIR)/erunt/Ntregopt.txt" "$(PLUGIN_DIR)/erunt/ERDNTDOS.OVL" "$(PLUGIN_DIR)/erunt/ERDNTWIN.OVL" .PHONY: erunt erunt: erunt.touch ########## # FileZilla # http://qual-it.netfirms.com/ssh.html FILEZILLA_URL ?=$(SOURCEFORGE_URL)/filezilla/$(FILEZILLA_ZIP) $(FILEZILLA_ZIP): $(WGET) $(FILEZILLA_URL) $(FILEZILLA_ZIP).touch: $(FILEZILLA_ZIP) pebuilder mkdir -p "$(PLUGIN_DIR)/ssh" $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/ssh" $< touch $@ .PHONY: filezilla filezilla: $(FILEZILLA_ZIP).touch ########## # Firefox: Web Browser # http://oss.netfarm.it/winpe #FIREFOX_ZIP ?=firefox-2.2.zip #FIREFOX_URL ?=$(SOURCEFORGE_URL)/winpe/$(FIREFOX_ZIP) # #$(FIREFOX_ZIP): # $(WGET) $(FIREFOX_URL) # #$(FIREFOX_ZIP).touch: $(FIREFOX_ZIP) pebuilder # mkdir -p "$(PLUGIN_DIR)/firefox" # $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)" $< # touch $@ # #.PHONY: firefox # #firefox: $(FIREFOX_ZIP).touch FIREFOX_VER ?=1.5 FIREFOX_CAB ?=firefox-$(FIREFOX_VER)-en-US.cab $(FIREFOX_CAB): for mirror in $(NU2_MIRRORS) ;\ do \ rm -f $(FIREFOX_CAB) ;\ $(WGET) $$mirror/$(FIREFOX_CAB) ;\ test -s $(FIREFOX_CAB) && break ;\ done test -s $(FIREFOX_CAB) $(FIREFOX_CAB).touch: $(FIREFOX_CAB) mkdir -p "$(PLUGIN_DIR)/firefox" $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/firefox" $< touch $@ .PHONY: firefox firefox: $(FIREFOX_CAB).touch ########## # GetDataBack: FAT32 File Recovery Tool # http://www.runtime.org/peb.htm $(GETDATABACK_ZIP): $(call download_norun,$(GETDATABACK_DIR),$(GETDATABACK_ZIP),$(GETDATABACK_URL),"GetDataBack",$(GETDATABACK_VER),$(GETDATABACK_DIR_WIN)) $(GETDATABACK_ZIP)_setup.touch: $(GETDATABACK_ZIP) mkdir -p "$(GETDATABACK_ZIP)_setup" $(SEVENZIP) x -r -y -o"$(GETDATABACK_ZIP)_setup" touch $@ $(GETDATABACK_ZIP)_setup: $(GETDATABACK_ZIP) echo Please install "GetDataBack" in "$(GETDATABACK_DIR_WIN)". chmod +x "$(GETDATABACK_ZIP)_setup/SETUP.EXE" cd "$(GETDATABACK_ZIP)_setup" && \ ./SETUP.EXE touch $(GETDATABACK_DIR) touch $@ $(GETDATABACK_ZIP)_install.touch: $(GETDATABACK_DIR) pebuilder if [ -d $(GETDATABACK_DIR) ]; then \ mkdir -p "$(PLUGIN_DIR)/gdb" ;\ ( cd $(GETDATABACK_DIR) && \ cp -fpv gdb.exe gdb.ini "$(PLUGIN_DIR)/gdb" ) ;\ touch $@ ;\ fi getdataback_for_fat.cab: $(WGET) http://www.runtime.org/getdataback_for_fat.cab getdataback_for_fat.touch: getdataback_for_fat.cab mkdir -p "$(PLUGIN_DIR)/gdb" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/gdb" $< touch $@ $(GETDATABACK_TOUCH): getdataback_for_fat.touch $(GETDATABACK_ZIP)_install.touch pebuilder touch $@ .PHONY: getdataback getdataback: $(GETDATABACK_TOUCH) ########## # GetDataBack NTFS: NTFS File Recovery Tool # http://www.runtime.org/peb.htm $(GETDATABACK_NTFS_ZIP): $(call download_norun,$(GETDATABACK_NTFS_DIR),$(GETDATABACK_NTFS_ZIP),$(GETDATABACK_NTFS_URL),"GetDataBack for NTFS",$(GETDATABACK_NTFS_VER),$(GETDATABACK_NTFS_DIR_WIN)) $(GETDATABACK_NTFS_ZIP)_setup.touch: $(GETDATABACK_NTFS_ZIP) mkdir -p "$(GETDATABACK_NTFS_ZIP)_setup" $(SEVENZIP) x -r -y -o"$(GETDATABACK_NTFS_ZIP)_setup" touch $@ $(GETDATABACK_NTFS_ZIP)_setup: $(GETDATABACK_NTFS_ZIP) echo Please install "GetDataBack for NTFS" in "$(GETDATABACK_NTFS_DIR_WIN)". chmod +x "$(GETDATABACK_NTFS_ZIP)_setup/SETUP.EXE" cd "$(GETDATABACK_NTFS_ZIP)_setup" && \ ./SETUP.EXE touch $(GETDATABACK_NTFS_DIR) touch $@ $(GETDATABACK_NTFS_ZIP)_install.touch: $(GETDATABACK_NTFS_DIR) pebuilder if [ -d $(GETDATABACK_NTFS_DIR) ]; then \ mkdir -p "$(PLUGIN_DIR)/gdbnt" ;\ ( cd $(GETDATABACK_NTFS_DIR) && \ cp -fpv gdbnt.exe gdbnt.ini "$(PLUGIN_DIR)/gdbnt" ) ;\ touch $@ ;\ fi getdataback_for_ntfs.cab: $(WGET) http://www.runtime.org/getdataback_for_ntfs.cab getdataback_for_ntfs.touch: getdataback_for_ntfs.cab mkdir -p "$(PLUGIN_DIR)/gdbnt" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/gdbnt" $< touch $@ $(GETDATABACK_NTFS_TOUCH): getdataback_for_ntfs.touch $(GETDATABACK_NTFS_ZIP)_install.touch pebuilder touch $@ .PHONY: getdataback_ntfs getdataback_ntfs: $(GETDATABACK_NTFS_TOUCH) ########## # Ghost 8: Hard Disk Backup/Restore Utility # http://nu2.nu/pebuilder/help/ghost.htm ghost8.touch: pebuilder if [ -d $(GHOST8_DIR) ]; then \ mkdir -p "$(PLUGIN_DIR)/ghost8/files" ;\ ( cd $(GHOST8_DIR) && \ cp -fpv \ ghost32.exe \ gdisk32.exe \ GhostExp.chm \ Ghostexp.exe \ "$(PLUGIN_DIR)/ghost8/files" ) ;\ touch $@ ;\ fi .PHONY: ghost8 ghost8: ghost8.touch ########## # HWPnP HWPNP_VER?=1022 HWPNP_CAB?=HWPnP$(HWPNP_VER).cab HWPNP_URL?=http://www.paraglidernc.com/plugins/$(HWPNP_CAB) # http://www.paraglidernc.com/plugins/HWPnP1022.cab XPE_PLUGIN?=$(PLUGIN_DIR)/xpe CD_I386_DIR_WIN?=$(XP_CD)\\I386 $(HWPNP_CAB): $(WGET) $(HWPNP_URL) $(HWPNP_CAB).touch: $(HWPNP_CAB) $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/hwpnp" $(HWPNP_CAB) .PHONY: hwpnp hwpnp: $(HWPNP_CAB).touch xpe_$(HWPNP_CAB).touch: $(HWPNP_CAB).touch mkdir -p $(XPE_PLUGIN) mkdir -p $(XPE_PLUGIN)/drivers mkdir -p $(XPE_PLUGIN)/inf mkdir -p $(XPE_PLUGIN)/system mkdir -p $(XPE_PLUGIN)/files cp -fprv $(PLUGIN_DIR)/hwpnp/files/. $(XPE_PLUGIN)/system mkdir -p tmp/hwpnp $(SEVENZIP) x -r -y -o"tmp/hwpnp" $(CD_I386_DIR_WIN)/DRIVER.CAB $(SEVENZIP) x -r -y -o"tmp/hwpnp" $(CD_I386_DIR_WIN)/sp2.cab cp -fpv tmp/hwpnp/*.sys $(XPE_PLUGIN)/drivers cp -fpv tmp/hwpnp/*.exe tmp/hwpnp/*.dll $(XPE_PLUGIN)/system $(EXPAND) -r "$(CD_I386_DIR_WIN)\\*.in_" "$(PLUGIN_DIR_WIN)\\xpe\\inf" touch $@ .PHONY: xpe_hwpnp xpe_hwpnp: xpe_$(HWPNP_CAB).touch ######### # InCtrl5 # INCTRL5_ZIP?=inctrl5.zip INCTRL5_URL?=http://publicdata.home.comcast.net/$(INCTRL5_ZIP) $(INCTRL5_ZIP): $(WGET) $(INCTRL5_URL) $(INCTRL5_ZIP).touch: $(INCTRL5_ZIP) pebuilder $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)" $< touch $@ inctrl5: $(INCTRL5_ZIP).touch ########## # IrfanView: File Viewer # http://nu2.nu/pebuilder/help/irfanview.htm $(IRFANVIEW_DIR): $(call download,$(IRFANVIEW_DIR),$(IRFANVIEW_EXE),$(IRFANVIEW_URL),"Irfanview",$(IRFANVIEW_VER),$(IRFANVIEW_DIR_WIN)) $(IRFANVIEW_TOUCH): $(IRFANVIEW_DIR) pebuilder if [ -d $(IRFANVIEW_DIR) ]; then \ mkdir -p "$(PLUGIN_DIR)/irfanview/files" ;\ ( cd $(IRFANVIEW_DIR) && \ cp -fprv . "$(PLUGIN_DIR)/irfanview/files" ) ;\ touch $@ ;\ fi .PHONY: irfanview irfanview: $(IRFANVIEW_TOUCH) ########## # KeyFinder: # http://www.geocities.com/acid_zebra/ KEYFINDER_URL ?=http://www.geocities.com/acid_zebra/keyfinder.zip # http://www.magicaljellybean.com/downloads/kf141.zip keyfinder.zip: $(WGET) $(KEYFINDER_URL) keyfinder.zip.touch: keyfinder.zip pebuilder mkdir -p "$(PLUGIN_DIR)/keyfinderpe" $(SEVENZIP) e -r -y -o"$(PLUGIN_DIR_WIN)/keyfinderpe" $< touch $@ .PHONY: keyfinder keyfinder: keyfinder.zip.touch ########## # McAfee # $(MCAFEE_EXE): $(WGET) $(MCAFEE_URL) mcafee.touch: $(MCAFEE_EXE) pebuilder mkdir -p "$(PLUGIN_DIR)/mcafee/files" cp -fpv "$(BUILD_DIR)/$(MCAFEE_EXE)" "$(PLUGIN_DIR)/mcafee/files" chmod +x "$(PLUGIN_DIR)/mcafee/files/$(MCAFEE_EXE)" cd "$(PLUGIN_DIR)/mcafee/files" && ./$(MCAFEE_EXE) /e touch $@ .PHONY: mcafee mcafee: mcafee.touch ########## # NetStumbler: # NETSTUMBLER_URL ?=http://www.stsanford.com/pebuilder/netstumbler.cab netstumbler.cab: $(WGET) $(NETSTUMBLER_URL) netstumbler.cab.touch: netstumbler.cab pebuilder $(call unzip,$<,$@) #rm -f $(PLUGIN_DIR_WIN)/netstumbler.cab .PHONY: netstumbler netstumbler: netstumbler.cab.touch ########## # NT5 Backup: # NT5BACKUP_URL ?=http://www.stsanford.com/pebuilder/nt5backup.cab nt5backup.cab: $(WGET) $(NT5BACKUP_URL) nt5backup.cab.touch: nt5backup.cab pebuilder $(call unzip,$<,$@) .PHONY: nt5backup nt5backup: nt5backup.cab.touch ########## # NU2XPE # NU2XPE_CAB ?=nu2xpe-1.3.cab NU2XPE_URL ?=$(SOURCEFORGE_URL)/winpe/$(NU2XPE_CAB) $(NU2XPE_CAB): $(WGET) $(NU2XPE_URL) $(NU2XPE_CAB).touch: $(NU2XPE_CAB) pebuilder mkdir -p "$(PLUGIN_DIR)/nu2xpe" $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/nu2xpe" $< touch $@ .PHONY: nu2xpe nu2xpe: $(NU2XPE_CAB).touch xpe ########## # OpenVPN # OPENVPN_FILES=$(PLUGIN_DIR)/openvpn/files openvpn.touch: mkdir -p "$(OPENVPN_FILES)" cp -fprv $(OPENVPN_DIR)/. "$(OPENVPN_FILES)/" #-cd $(OPENVPN_FILES) && upx *.exe bin/*.exe touch $@ .PHONY: openvpn openvpn: openvpn.touch ########## # OpenVPN-GUI # $(OPENVPN_GUI_EXE): $(WGET) $(OPENVPN_GUI_URL) $(OPENVPN_GUI_EXE).touch: $(OPENVPN_GUI_EXE) mkdir -p "$(PLUGIN_DIR)/openvpn_gui/files" cp -fpv $(OPENVPN_GUI_EXE) "$(PLUGIN_DIR)/openvpn_gui/files/" touch $@ .PHONY: openvpn_gui openvpn_gui: $(OPENVPN_GUI_EXE).touch openvpn.touch ########## # PartitionMagic: Disk Partitioning Software # PMAGIC8_URL ?=http://s92460507.onlinehome.us/pe/download/pmagic8.cab pmagic8.cab: $(WGET) $(PMAGIC8_URL) pmagic8.cab.touch: pmagic8.cab pebuilder $(call unzip,$<,$@) pmagic8.touch: $(PMAGIC8_DIR) pmagic8.cab.touch if [ ! -d $(PMAGIC8_DIR) ]; then \ echo "Partition Magic 8 not found in '$(PMAGIC8_DIR_WIN)'" ;\ else \ mkdir -p "$(PLUGIN_DIR)/pmagic8/files" ;\ ( cd $(PMAGIC8_DIR) && \ cp -fpv \ About.pqg \ INETWH32.dll \ License.txt \ MASTER.CNT \ PartInNT.exe \ pm.cnt \ PM.HLP \ PMagicNT.exe \ PQPB.RTC \ PTEDIT32.EXE \ ROBOEX32.DLL \ Splash.pqg \ UNICODE.FNT \ "$(PLUGIN_DIR)/pmagic8/files" ) ;\ touch $@ ;\ fi .PHONY: pmagic8 pmagic8: pmagic8.touch UBCD4WIN_VER ?=26 UBCD4WIN ?=UBCD4Win$(UBCD4WIN_VER) UBCD4WIN_DIR ?=D:/$(UBCD4WIN) $(UBCD4WIN).touch: test -d "$(PLUGIN_DIR)" || mkdir -p "$(PLUGIN_DIR)" test -d "$(DRIVERS_DIR)" || mkdir -p "$(DRIVERS_DIR)" chmod -R a+rw $(PEBUILDER_DIR)/plugin $(PEBUILDER_DIR)/drivers cp -fprv $(UBCD4WIN_DIR)/plugin/. $(UBCD4WIN_DIR)/drivers/. $(PEBUILDER_DIR) chmod -R a+rw $(PEBUILDER_DIR)/plugin $(PEBUILDER_DIR)/drivers .PHONY: ubcd4win ubcd4win: $(UBCD4WIN).touch ########## # # http://www.nu2.nu/pebuilder/ $(PEBUILDER_ZIP): for mirror in $(NU2_MIRRORS) ; do \ rm -f $(PEBUILDER_ZIP) ;\ $(WGET) $$mirror/$(PEBUILDER_ZIP) ;\ test -s $(PEBUILDER_ZIP) && break ;\ done test -s $(PEBUILDER_ZIP) $(PEBUILDER).touch: $(PEBUILDER_ZIP) sevenzip mkdir -p $(PEBUILDER) cd $(PEBUILDER) && \ $(SEVENZIP) x -r -y "$(BUILD_DIR_WIN)/$<" # for BuildScripts cp -fpv $(PEBUILDER)/mkisofs.exe $(PEBUILDER)/mymkisofs.exe # get patched 314-beta, if it exists -if [ "$(PEBUILDER_VER)" = "314-beta" ]; then \ cp -fpv pebuilder.exe $(PEBUILDER) ;\ fi chmod +x $(PEBUILDER)/*.exe touch $@ .PHONY: pebuilder pebuilder: $(PEBUILDER).touch ########## # # PEWSH_URL ?=http://home.wanadoo.nl/arjan.van.beijnum/pebuilder/install/pewsh.cab pewsh.cab: $(WGET) $(PEWSH_URL) pewsh.cab.touch: pewsh.cab pebuilder $(call unzip,$<,$@) .PHONY: pewsh pewsh: pewsh.cab.touch ########## # # POSTPROCESSING_RAR?=postprocessing_v10.rar POSTPROCESSING_URL?=http://members.chello.at/martin.vogt/$(POSTPROCESSING_RAR) $(POSTPROCESSING_RAR): $(WGET) $(POSTPROCESSING_URL) $(POSTPROCESSING_RAR).touch: $(POSTPROCESSING_RAR) pebuilder mkdir -p "$(PLUGIN_DIR)" $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)" $< cp -fpv "$(PLUGIN_DIR)/postprocessing/files/wrapper.cmd" "$(PEBUILDER)" cp -fpv "$(PLUGIN_DIR)/postprocessing/files/start_PE.cmd" "$(PEBUILDER)" chmod a+x $(PEBUILDER)/*.cmd touch $@ .PHONY: postprocessing_only postprocessing_only: $(POSTPROCESSING_RAR).touch CONVASCII_ZIP?=ConvAscii.zip CONVASCII_URL?=http://www.paraglidernc.com/plugins/$(CONVASCII_ZIP) $(CONVASCII_ZIP): $(WGET) $(CONVASCII_URL) $(CONVASCII_ZIP).touch: $(CONVASCII_ZIP) $(POSTPROCESSING_RAR).touch $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/postprocessing/files" $< touch $@ convascii.touch: $(CONVASCII_ZIP).touch CONVREG_ZIP?=ConvReg.zip CONVREG_URL?=http://www.paraglidernc.com/plugins/$(CONVREG_ZIP) $(CONVREG_ZIP): $(WGET) $(CONVREG_URL) $(CONVREG_ZIP).touch: $(CONVREG_ZIP) $(POSTPROCESSING_RAR).touch $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/postprocessing/files" $< touch $@ convreg.touch: $(CONVREG_ZIP).touch filecase_postprocessing.touch: $(POSTPROCESSING_RAR).touch filecase cp -fpv filecase.exe "$(PLUGIN_DIR)/postprocessing/files" touch $@ GENSHORTCUTS_ZIP?=GenShortcuts.zip GENSHORTCUTS_URL?=http://www.paraglidernc.com/plugins/$(GENSHORTCUTS_ZIP) $(GENSHORTCUTS_ZIP): $(WGET) $(GENSHORTCUTS_URL) $(GENSHORTCUTS_ZIP).touch: $(GENSHORTCUTS_ZIP) $(POSTPROCESSING_RAR).touch $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/postprocessing/files" $< touch $@ genshortcuts.touch: $(GENSHORTCUTS_ZIP).touch MNU2LNK_ZIP?=mnu2lnk.zip MNU2LNK_URL?=http://users.rol.ro/albuemil/$(MNU2LNK_ZIP) $(MNU2LNK_ZIP): $(WGET) $(MNU2LNK_URL) $(MNU2LNK_ZIP).touch: $(MNU2LNK_ZIP) $(POSTPROCESSING_RAR).touch $(SEVENZIP) e -y -o"$(PLUGIN_DIR_WIN)/postprocessing/files" $< touch $@ mnu2lnk.touch: $(MNU2LNK_ZIP).touch SORTMENU_ZIP?=SortMenu.zip SORTMENU_URL?=http://www.paraglidernc.com/plugins/$(SORTMENU_ZIP) $(SORTMENU_ZIP): $(WGET) $(SORTMENU_URL) $(SORTMENU_ZIP).touch: $(SORTMENU_ZIP) $(POSTPROCESSING_RAR).touch $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/postprocessing/files" $< touch $@ sortmenu.touch: $(SORTMENU_ZIP).touch .PHONY: postprocessing postprocessing: \ $(BUILDSCRIPTS_ZIP).touch \ $(POSTPROCESSING_RAR).touch \ $(CONVASCII_ZIP).touch \ $(CONVREG_ZIP).touch \ filecase_postprocessing.touch \ $(GENSHORTCUTS_ZIP).touch \ $(MNU2LNK_ZIP).touch \ $(SORTMENU_ZIP).touch ########## # # http://home.wanadoo.nl/arjan.van.beijnum/pebuilder/plugins/ PSTOOLS_ZIP_URL ?=http://www.sysinternals.com/files/Pstools.zip Pstools.zip: $(WGET) $(PSTOOLS_ZIP_URL) pstools.zip.touch: Pstools.zip pebuilder mkdir -p "$(PLUGIN_DIR)/pstools" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/pstools" $< touch $@ PSTOOLS_CAB_URL ?=http://home.wanadoo.nl/arjan.van.beijnum/pebuilder/install/pstools.cab pstools.cab: $(WGET) $(PSTOOLS_CAB_URL) pstools.cab.touch: pstools.cab pebuilder $(call unzip,$<,$@) .PHONY: pstools pstools: pstools.zip.touch pstools.cab.touch ########## # Putty: SSH client # http://nu2.nu/pebuilder/help/putty.htm PUTTY_URL ?=http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip putty.zip: $(WGET) $(PUTTY_URL) putty.zip.touch: putty.zip pebuilder mkdir -p "$(PLUGIN_DIR)/putty" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/putty" $< touch $@ putty: putty.zip.touch ########## # # REGRESWIZ_URL ?=http://viceroy.web1000.com/files/regreswiz.zip regreswiz.zip: $(WGET) $(REGRESWIZ_URL) regreswiz.zip.touch: regreswiz.zip pebuilder $(call unzip,$<,$@) @# bugfix touch "$(PLUGIN_DIR)/regreswiz/license.txt" "$(PLUGIN_DIR)/regreswiz/readme.txt" .PHONY: regreswiz regreswiz: regreswiz.zip.touch ########## # # RESET5_URL ?=http://xpe.collewijn.info/_download/reset5.cab reset5.cab: $(WGET) $(RESET5_URL) reset5.cab.touch: reset5.cab pebuilder $(call unzip,$<,$@) .PHONY: reset5 reset5: reset5.cab.touch ########## # # ROCKXP_EXE?=RockXP3.exe ROCKXP_URL?=http://perso.numericable.fr/%7Ecadossan/korben/$(ROCKXP_EXE) ########## # # PSEXEC_URL ?=http://www.sysinternals.com/files/psexec.zip psexec.zip: $(WGET) $(PSEXEC_URL) psexec.zip.touch: psexec.zip pebuilder mkdir -p "$(PLUGIN_DIR)/rootkitrevealer/files" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/rootkitrevealer/files" $< touch $@ .PHONY: psexec psexec: psexec.zip.touch ROOTKITREVEALER_URL ?=http://www.sysinternals.com/files/rootkitrevealer.zip rootkitrevealer.zip: $(WGET) $(ROOTKITREVEALER_URL) rootkitrevealer.zip.touch: rootkitrevealer.zip pebuilder psexec.zip.touch mkdir -p "$(PLUGIN_DIR)/rootkitrevealer/files" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/rootkitrevealer/files" $< touch $@ .PHONY: rootkitrevealer rootkitrevealer: rootkitrevealer.zip.touch ########## # # $(SEVENZIP_DIR): $(call download,$(SEVENZIP_DIR),$(SEVENZIP_EXE),$(SEVENZIP_URL),"7-Zip",$(SEVENZIP_VER),$(SEVENZIP_DIR_WIN)) $(SEVENZIP_TOUCH): $(SEVENZIP_DIR) if [ ! -d $(SEVENZIP_DIR) ]; then \ echo The directory "$(SEVENZIP_DIR_WIN)" was not found ;\ exit 1 ;\ fi #mkdir -p "$(PLUGIN_DIR)/7zip/files" #cd $(SEVENZIP_DIR) && \ # cp -fprv * "$(PLUGIN_DIR)/7zip/files" touch $@ .PHONY: sevenzip sevenzip: $(SEVENZIP_TOUCH) ########## # # SPYBOT_VER=13 SPYBOT_URL=http://spybot.dalnet.com.fr/spybotsd$(SPYBOT_VER).exe ########## # # SSH_URL ?=http://qual-it.netfirms.com/plugins/ssh.zip ssh.zip: $(WGET) $(SSH_URL) ssh.zip.touch: ssh.zip pebuilder $(call unzip,$<,$@) ssh_putty.touch: putty.zip pebuilder mkdir -p "$(PLUGIN_DIR)/ssh" $(SEVENZIP) x -y -o"$(PLUGIN_DIR_WIN)/ssh" $< touch $@ ssh.touch: $(FILEZILLA_ZIP).touch ssh_putty.touch $(WINSCP_EXE).touch ssh.zip.touch pebuilder @#fix missing files cd "$(PLUGIN_DIR)/ssh" && \ cp -fpv puttylicense.html putty.htm ;\ cp -fpv winscp.exe uninstall.exe touch $@ .PHONY: ssh ssh: ssh.touch ########## # # STINGER_VER=259 STINGER_VER_EXE ?=stng$(STINGER_VER).exe STINGER_EXE ?=s-t-i-n-g-e-r.exe STINGER_URL ?=http://download.nai.com/products/mcafee-avert/$(STINGER_VER_EXE) $(STINGER_EXE): $(WGET) $(STINGER_URL) cp -fpv $(STINGER_VER_EXE) $(STINGER_EXE) stinger.touch: $(STINGER_EXE) cp -fpv $(STINGER_EXE) "$(PLUGIN_DIR)/stinger" touch $@ .PHONY: stinger stinger: stinger.touch ########## # # # todo: copy SUPTOOLS_DIR files locally SUPTOOLS_URL ?=http://www.xppe.com/files/suptools.cab suptools.cab: $(WGET) $(SUPTOOLS_URL) suptools.cab.touch: suptools.cab pebuilder $(call unzip,$<,$@) suptools_copy.touch: pebuilder mkdir -p "$(PLUGIN_DIR)/suptools/files" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/suptools/files" "$(SUPTOOLS_DIR_WIN)/SUPPORT.CAB" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/suptools/files" "$(SUPTOOLS_DIR_WIN)/DEPLOY.CAB" touch $@ suptools.touch: suptools.cab.touch suptools_copy.touch .PHONY: suptools suptools: suptools.touch ########## # # SYSINTERNALS_URL ?=http://www.sysinternals.com/Files SYSTERNALS_CAB_URL ?=http://www.xppe.com/files/systernals.cab systernals.cab: $(WGET) $(SYSTERNALS_CAB_URL) systernals.cab.touch: systernals.cab pebuilder $(call unzip,$<,$@) systernals.zip.touch: # pebuilder mkdir -p "$(PLUGIN_DIR)/systernals/files" for file in \ cpumon.zip \ diskmon.zip \ filemon.zip \ handle.zip \ ntfsinfo.zip \ PMon.zip \ PortmonNt.zip \ ProcessExplorerNt.zip \ pstools.zip \ RegmonNt.zip \ tcpview.zip \ tdimonnt.zip \ tokenmon.zip \ winobj.zip \ cacheset.zip \ contig.zip \ PageDefrag.zip \ accessenum.zip \ autoruns.zip \ bginfo.zip \ DebugViewNt.zip \ diskview.zip \ efsdump.zip \ sync.zip \ VolumeId.zip \ ldmdump.zip \ livekd.zip \ newsid.zip \ sdelete.zip \ shareenum.zip \ ListDlls.zip \ ; do \ test -e $$file || $(WGET) $(SYSINTERNALS_URL)/$$file ;\ test -e $$file || exit 1 ;\ $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/systernals/files" $$file ;\ done cd "$(PLUGIN_DIR)/systernals/files" && \ rm -f *.c create.dir *.dsp *.dsw *.ncb *.opt *.plg *.txt cd "$(PLUGIN_DIR)/systernals/files" && \ mv -f RELEASE/EFSDUMP.EXE . touch $@ systernals.exe.touch: pebuilder mkdir -p "$(PLUGIN_DIR)/systernals/files" for file in \ fundelete.exe \ ; do \ test -e $$file || $(WGET) $(SYSINTERNALS_URL)/$$file ;\ cp -fpv $$file "$(PLUGIN_DIR)/systernals/files/$$file" ;\ done touch $@ systernals.touch: systernals.zip.touch systernals.exe.touch systernals.cab.touch touch $@ .PHONY: systernals systernals: systernals.touch ########## # TextPad # $(TEXTPAD_DIR): $(call download,$(TEXTPAD_DIR),$(TEXTPAD_EXE),$(TEXTPAD_URL),"TextPad",$(TEXTPAD_VER),$(TEXTPAD_DIR_WIN)) $(TEXTPAD_TOUCH): $(TEXTPAD_DIR) pebuilder if [ -d $(TEXTPAD_DIR) ]; then \ mkdir -p "$(PLUGIN_DIR)/textpad/files" ;\ cp -fprv $(TEXTPAD_DIR)/. "$(PLUGIN_DIR)/textpad/files" ;\ touch $@ ;\ fi .PHONY: textpad textpad: $(TEXTPAD_TOUCH) ########## # TightVNC: Remote Desktop # http://nu2.nu/pebuilder/help/vncviewer.htm TIGHTVNC_URL ?=$(SOURCEFORGE_URL)/vnc-tight/$(TIGHTVNC_ZIP) $(TIGHTVNC_ZIP): $(WGET) $(TIGHTVNC_URL) $(TIGHTVNC_TOUCH): $(TIGHTVNC_ZIP) pebuilder mkdir -p "$(PLUGIN_DIR)/tightvnc/files" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/tightvnc/files" $< vncviewer.exe winvnc.exe VNCHooks.dll touch $@ .PHONY: tightvnc tightvnc: $(TIGHTVNC_TOUCH) ########## # Tiny Hexer: Hex Editor # http://www.mirkes.de/en/freeware/tinyhex/smalledition.php TINYHEXER_URL ?=http://www.mirkes.de/download.php?id=70 tinyhexer.cab: $(WGET) -O $@ $(TINYHEXER_URL) tinyhexer.cab.touch: tinyhexer.cab pebuilder $(call unzip,$<,$@) .PHONY: tinyhexer tinyhexer: tinyhexer.cab.touch ########## # # # \todo finish TOTAL_COMMANDER_URL ?=http://wcarchive.cdrom.com/pub/simtelnet/win95/filemngr/$(TOTAL_COMMANDER_EXE) $(TOTAL_COMMANDER_EXE): rm -f total_commander*.touch $(WGET) $(TOTAL_COMMANDER_URL) total_commander.touch: $(TOTAL_COMMANDER_EXE) unzip -o $(TOTAL_COMMANDER_EXE) INSTALL.CAB mkdir -p "$(PLUGIN_DIR)/total commander/files" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/total commander/files" INSTALL.CAB touch "$(PLUGIN_DIR)/total commander/files/wincmd.key" touch $@ .PHONY: total_commander total_commander: total_commander.touch ########## # # http://www.hansonsystems.com/pebuilder/ UNXUTILS_ZIP ?=UnxUtils.zip UNXUTILS_URL ?=http://unxutils.sourceforge.net/$(UNXUTILS_ZIP) $(UNXUTILS_ZIP): $(WGET) $(UNXUTILS_URL) UNXUPDATES_ZIP ?=UnxUpdates.zip UNXUPDATES_URL ?=http://unxutils.sourceforge.net/$(UNXUPDATES_ZIP) $(UNXUPDATES_ZIP): $(WGET) $(UNXUPDATES_URL) $(UNXUTILS_ZIP).touch: $(UNXUTILS_ZIP) pebuilder mkdir -p "$(PLUGIN_DIR)/unixutils/files" "tmp/unxutils" $(SEVENZIP) x -y -o"tmp/unxutils" $< touch $@ $(UNXUPDATES_ZIP).touch: $(UNXUPDATES_ZIP) pebuilder mkdir -p "$(PLUGIN_DIR)/unixutils/files" "tmp/unxutils" $(SEVENZIP) x -y -o"tmp/unxutils" $< cp -fprv tmp/unxutils/bin/. tmp/unxutils/usr/local/wbin/. "$(PLUGIN_DIR)/unixutils/files" touch $@ unxutils_copy.touch: $(UNXUTILS_ZIP).touch $(UNXUPDATES_ZIP).touch cp -fprv tmp/unxutils/bin/. tmp/unxutils/usr/local/wbin/. "$(PLUGIN_DIR)/unixutils/files" touch $@ #404: http://www.hansonsystems.com/pebuilder/unixutils.cab UNIXUTILS_URL ?=http://smithii.com/files/unixutils.cab unixutils.cab: $(WGET) $(UNIXUTILS_URL) unixutils.cab.touch: unixutils.cab pebuilder $(call unzip,$<,$@) unixutils.touch: unxutils_copy.touch unixutils.cab.touch touch $@ .PHONY: unixutils unixutils: unixutils.touch ########## # # VMWARE_VER?=1.1 VMWARE_CAB?=vmware-$(VMWARE_VER).cab VMWARE_URL?=$(SOURCEFORGE_URL)/winpe/$(VMWARE_CAB) $(VMWARE_CAB): $(WGET) $(VMWARE_URL) $(VMWARE_CAB).touch: $(VMWARE_CAB) mkdir -p "$(PLUGIN_DIR)/vmware/files" $(SEVENZIP) x -r -y -o"$(PLUGIN_DIR_WIN)/vmware" $< touch $@ #$(VMWARE_CAB)_diff.touch: $(VMWARE_CAB).touch plugin_patch # cd "$(PLUGIN_DIR_WIN)/vmware" && \ # patch -p0 --binary >"$(PEBUILDER)/input.inf" echo "PE Builder-$(PEBUILDER_DOTTED_VER)=1" >>"$(PEBUILDER)/input.inf" echo "$(XP_CD)\\i386\\eula.txt=1" >>"$(PEBUILDER)/input.inf" rm -fr "$(PEBUILDER)/pebuilder.log" cd "$(PEBUILDER)" && \ chmod +x ./pebuilder.exe cd "$(PEBUILDER)" && \ ./pebuilder.exe -auto -overwrite -exit # 3.13 & 3.14-beta #grep "Build process done" "$(PEBUILDER)/pebuilder.log" && \ # touch $@ grep "Building done" "$(PEBUILDER)/pebuilder.log" && \ touch $@ .PHONY: pebuilder_run pebuilder_run: $(PEBUILDER)_run.touch pebuilder .PHONY: pebuilder_only pebuilder_run_only: $(PEBUILDER)_run.touch ########## # # FILECASE_ZIP ?=ctb10w32.zip FILECASE_URL ?=http://stevemiller.net/downloads/$(FILECASE_ZIP) $(FILECASE_ZIP): $(WGET) $(FILECASE_URL) filecase.exe: $(FILECASE_ZIP) $(SEVENZIP) x -y $< $@ touch $@ chmod +x $@ .PHONY: filecase filecase: filecase.exe # http://www.911cd.net/forums/index.php?showtopic=4382 filecase.touch: filecase pebuilder_run chmod +x ./inirw.exe chmod +x ./filecase.exe @# all files in c:\pebldr ./filecase /h /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`" @# the i386 dir cmd /c ren "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\i386" I386 @# the i386\SYSTEM dir cmd /c ren "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\i386\\system32" SYSTEM32 @# the i386\SYSTEM32\DRIVERS dir cmd /c ren "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\i386\\system32\\drivers" DRIVERS ./filecase /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\BOOTFONT.BIN" ./filecase /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\WIN*" ./filecase /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\WINBOM.INI" ./filecase /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\I386\\BOOTFIX.BIN" ./filecase /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\I386\\*.SIF" ./filecase /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\I386\\NTDETECT.COM" ./filecase /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\I386\\SETUPLDR.BIN" ./filecase /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\I386\\SPCMDCON.SYS" ./filecase /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\I386\\TXTSETUP.SIF" ./filecase /d /h /q /s /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\I386\\SYSTEM32\\*.*" ./filecase /q /l "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\I386\\SYSTEM32\\*.exe" ./filecase /q /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\I386\\SYSTEM32\\NTKRNLMP.EXE" @# all files in i386 #./filecase /d /h /q /s /u "`./inirw $(PEBUILDER)/input.inf input fulloutdir`\\I386" touch $@ .PHONY: filecase_run filecase_run: filecase.touch # \todo fixme ########## # # $(PEBUILDER_ISO): cp -fpv inirw.exe "$(PEBUILDER)" ./inirw "$(PEBUILDER)/input.inf" input buildiso 1 chmod +x *.exe $(PEBUILDER)/*.exe $(PEBUILDER)/*.cmd cd "$(PEBUILDER)" && \ ./wrapper.cmd "`basename \`./inirw input.inf input isofile\``" "`basename \`./inirw input.inf input fulloutdir\``" .PHONY: iso iso: pebuilder_run $(PEBUILDER_ISO) buildscripts .PHONY: iso_only iso_only: $(PEBUILDER_ISO) ########## # # .PHONY: cdrecord cdrecord: iso ifneq ('$(PAUSE)', '') @echo @echo Insert a blank CD-R/CD-RW/DVD±R/DVD±RW into the following drive @-cdrecord --scanbus | grep "$(CD_DEV)" | cut -b 2- @echo and press [Enter] to continue @echo -e \\a @read dummy endif cdrecord -dev=$(CD_DEV) $(CDRECORD_OPTS) $(PEBUILDER_ISO) @echo @echo Please label this disk \"$(CD_LABEL)\" blank: cdrecord -dev=$(CD_DEV) $(CDRECORD_OPTS) -blank=fast .PHONY: cdrw cdrw: iso ifneq ('$(PAUSE)', '') @echo @echo Insert a CD-RW disk to be erased into the following drive @-cdrecord --scanbus | grep "$(CD_DEV)" | cut -b 2- @echo and press [Enter] to continue @echo -e \\a @read dummy endif cdrecord -dev=$(CD_DEV) $(CDRECORD_OPTS) -blank=fast cdrecord -dev=$(CD_DEV) $(CDRECORD_OPTS) $(PEBUILDER_ISO) @echo @echo Please label this disk \"$(CD_LABEL)\" ########## # # .PHONY: clean clean: tidy # todo .PHONY: tidy tidy: rm -fr \ *.touch \ tmp \ $(PEBUILDER) \ $(PEBUILDER_ISO) #****************************** # to speed up testing, put back in final release # pmagic8 \ # handled by build scripts # postprocessing \ # change it's autorun1kf.cmd to autorun_keyfinder.cmd # acroread6 \ APPLICATIONS=\ acroread7 \ adaware \ aida32 \ analogx \ autoramresizer \ aspi \ buildscripts \ bginfo \ deepburner \ editpad \ erunt \ firefox \ getdataback \ getdataback_ntfs \ ghost8 \ hwpnp \ inctrl5 \ irfanview \ keyfinder \ mcafee \ netstumbler \ nu2xpe \ nt5backup \ openvpn \ openvpn_gui \ pewsh \ pstools \ putty \ regreswiz \ sevenzip \ ssh \ stinger \ suptools \ systernals \ textpad \ tightvnc \ tinyhexer \ total_commander \ unixutils \ vmware \ vopt \ winrar \ ws_ftp \ xpe \ xpe_hwpnp \ ztree # putty.zip.touch # pauses: # $(PRO2KXP_EXE).touch # pmagic8.touch \ # $(POSTPROCESSING_ZIP).touch \ # rootkitrevealer.zip.touch \ TOUCHES=\ acroread6.touch \ acroread7.touch \ $(ADAWARE_TOUCH) \ $(AIDA32_TOUCH) \ analogx.cab.touch \ $(ASPI_TOUCH) \ autoramresizer.cab.touch \ bginfo.zip.touch \ $(BROADCOM_440_FILE).touch \ $(BUILDSCRIPTS_ZIP).touch \ cmdutils.inf.touch \ cygwin.touch \ $(DEEPBURNER_ZIP).touch \ editpad.cab.touch \ erunt.touch \ $(FA41V300_ZIP).touch \ filecase.touch \ $(FILEZILLA_ZIP).touch \ $(FIREFOX_CAB).touch \ $(GETDATABACK_TOUCH) \ $(GETDATABACK_NTFS_TOUCH) \ ghost8.touch \ $(HWPNP_CAB).touch \ xpe_$(HWPNP_CAB).touch \ $(INCTRL5_ZIP).touch \ $(IRFANVIEW_TOUCH) \ keyfinder.zip.touch \ mcafee.touch \ netstumbler.cab.touch \ nt5backup.cab.touch \ nu2xpe.cab.touch xpe \ openvpn.touch \ $(OPENVPN_GUI_EXE).touch \ pewsh.cab.touch \ plugin.touch \ plugin_patch.touch \ plugin_local.touch \ pstools.zip.touch \ pstools.cab.touch \ regreswiz.zip.touch \ $(SEVENZIP_TOUCH) \ ssh.touch \ stinger.touch \ suptools.touch \ systernals.touch \ $(TEXTPAD_TOUCH) \ $(TIGHTVNC_TOUCH) \ tinyhexer.cab.touch \ total_commander.touch \ $(UNXUPDATES_ZIP).touch \ $(UNXUTILS_ZIP).touch \ unxutils_copy.touch \ $(VMWARE_CAB).touch \ $(VMWARE_CAB).iso.touch \ $(VOPT_TOUCH) \ $(WINRAR_TOUCH) \ $(WINSCP_EXE).touch \ ws_ftp.cab.touch \ $(XE205_2_CE3_EXE).touch \ xpe.touch \ $(ZTREE_ZIP).touch \ $(ZTREEBETA_ZIP).touch POST_PLUGIN_APPLICATIONS=\ # cygwin # causes annoying popup: # $(PRO2KXP_EXE).touch DRIVERS=\ drivers.touch \ $(BROADCOM_440_FILE).touch \ $(DLINK_650_ZIP).touch \ $(FA41V300_ZIP).touch \ $(XE205_2_CE3_EXE).touch ########## # # .PHONY: diff_prepare diff_prepare: -rm -f *.touch -rm -f $(PEBUILDER).old -mv -f $(PEBUILDER) $(PEBUILDER).old find plugin_patch -name '*.diff' -type f | xargs --no-run-if-empty rm -f .PHONY: diff diff: diff_prepare \ sevenzip \ pebuilder \ $(ACROREAD6_CAB).cab.touch \ aida32.cab.touch \ cmdutils \ editpad \ inctrl5 \ pstools.cab.touch \ putty \ ssh.zip.touch \ suptools.cab.touch \ systernals.cab.touch \ unixutils.cab.touch \ voptxp ./diff.sh .PHONY: vmrun vmrun: cmd.exe /c start /low c:/PROGRA~1/VMware/VMWARE~1/vmware.exe /x "d:/vmware/BartPE$(PEBUILDER_VER)/Windows XP Professional.vmx" .PHONY: all_xpe all_xpe: buildscripts nu2xpe xpe enable_xpe .PHONY: run_only run_only: $(PEBUILDER)_run.touch iso_only vmrun plugin_run: plugin_only plugin_patch_only plugin_local_only run_only enable_xpe_only: $(call enable2,autorun,0) $(call enable3,xpe,XPELogon.exe,xpe.inf) $(call enable3,xpe,XPELogon.exe,xpe-defaults.inf) $(call enable3,zz5/nu2shell,0,nu2shell.inf) $(call enable3,zz5/peloader,0,peloader.inf) #.PHONY: plugin_run #plugin_run: buildscripts xpe disable_xpe enable_xpe plugin_only plugin_patch_only plugin_local_only run_only # worked: left xpe-defaults disabled for some reason: #test: all disable_xpe enable_xpe run_only disable_most_xpe: $(call enable3,xpe,0,xpe-crypto.inf) $(call enable3,xpe,0,xpe-defaults.inf) $(call enable3,xpe,0,xpe-directx.inf) $(call enable3,xpe,0,xpe-helpsys.inf) $(call enable3,xpe,0,xpe-mmc.inf) $(call enable3,xpe,0,xpe-pnp.inf) #$(call enable3,xpe,0,xpe-wmi.inf) $(call enable3,xpe,0,xpe-wmp.inf) $(call enable3,xpe,0,z_xpe-custom.inf) # worked: test: all run_only # final test: #xpe_autorun #z_addpaths # cygwin must come after plugin .PHONY: alltouch # ubcd4win \ alltouch: \ sevenzip \ pebuilder \ $(APPLICATIONS) \ $(DRIVERS) \ plugin \ plugin_patch \ plugin_local \ $(POST_PLUGIN_APPLICATIONS) \ enable \ enable_xpe \ iso \ # cdrecord # vmware # change enable_xpe to disable_xpe to disable XPE # TODO: inf: find $(PLUGIN_DIR) -name '*.inf' -printf '"%p" ' | xargs egrep -v "^;" | grep -h Microsoft\\\\Windows\\\\CurrentVersion\\\\RunOnceEx | cut -d \\ -f 5- | grep -v RunOnceEx | sort | uniq -c | sort -n # xp will lock if all of these are upx'd xp_locks_up: find $(PEBUILDER)/$(OUTDIR) \ -name '*.[Aa][Cc][Mm]' -o \ -name '*.[Cc][Oo][Mm]' -o \ -name '*.[Cc][Pp][Ll]' -o \ -name '*.[Dd][Ll][Ll]' -o \ -name '*.[Dd][Rr][Vv]' -o \ -name '*.[Ee][Xx][Ee]' -o \ -name '*.[Ff][Mm][Tt]' -o \ -name '*.[Mm][Ee][Mm]' -o \ -name '*.[Oo][Cc][Xx]' -o \ -name '*.[Ss][Yy][Ss]' -o \ -name '*.[Tt][Ll][Bb]' | xargs upx -9 upx.touch: -find $(PEBUILDER)/$(OUTDIR) -name '*.[Dd][Ll][Ll]' -o -name '*.[Ee][Xx][Ee]' | xargs upx -9 touch $@ upx_only: upx.touch upx: pebuilder_run upx.touch