reactos/reactos/tools/Makefile

163 lines
3.6 KiB
Makefile
Raw Normal View History

PATH_TO_TOP = ..
include $(PATH_TO_TOP)/rules.mak
CFLAGS += -Wall -Werror
ifeq ($(HOST_TYPE),unix)
CFLAGS += -DUNIX_PATHS
rm := @rm
else
CFLAGS += -DDOS_PATHS
rm := -@del
endif
TOOLS = \
regtests$(EXE_POSTFIX) \
rcopy$(EXE_POSTFIX) \
rdel$(EXE_POSTFIX) \
rline$(EXE_POSTFIX) \
rmkdir$(EXE_POSTFIX) \
rrmdir$(EXE_POSTFIX) \
rsym$(EXE_POSTFIX) \
raddr2line$(EXE_POSTFIX) \
rtouch$(EXE_POSTFIX) \
mkflpimg$(EXE_POSTFIX) \
ppc-le2be$(EXE_POSTFIX) \
hack-coff$(EXE_POSTFIX) \
depends$(EXE_POSTFIX)
LIBS = lib_unicode lib_wpp
CLEAN_FILES = $(TOOLS) tools-check.tmp tools-check.h
all: $(TOOLS) tools_check $(LIBS) zlib_target wmc_target cabman_target cdmake_target mkhive_target rgenstat_target \
wine2ros_target pipetools_target winebuild_target bin2res_target wrc_target widl_target \
buildno_target
tools_check:
$(MAKE) -f tools-check.mak
2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net> * regtests: New directory. * regtests/kmregtests: Ditto. * regtests/kmrtint: Ditto. * regtests/regtests: Ditto. * regtests/shared: Ditto. * regtests/win32base: Ditto. * include/roskrnl.h: New file. * regtests/Makefile: Ditto. * regtests/kmregtests/.cvsignore: Ditto. * regtests/kmregtests/driver.c: Ditto. * regtests/kmregtests/kmregtests.h: Ditto. * regtests/kmregtests/Makefile: Ditto. * regtests/kmrtint/.cvsignore: Ditto. * regtests/kmrtint/kmrtint.c: Ditto. * regtests/kmrtint/kmrtint.def: Ditto. * regtests/kmrtint/kmrtint.edf: Ditto. * regtests/kmrtint/Makefile: Ditto. * regtests/regtests/.cvsignore: Ditto. * regtests/regtests/Makefile: Ditto. * regtests/regtests/regtests.c: Ditto. * regtests/shared/.cvsignore: Ditto. * regtests/shared/Makefile: Ditto. * regtests/shared/regtests.c: Ditto. * regtests/shared/regtests.h: Ditto. * regtests/win32base/.cvsignore: Ditto. * regtests/win32base/driver.c: Ditto. * regtests/win32base/file-1.c: Ditto. * regtests/win32base/Makefile: Ditto. * regtests/win32base/win32base.def: Ditto. * regtests/win32base/win32base.edf: Ditto. * tools/regtests.c: Ditto. * Makefile: Add target regtests. * config: Add SEH option. * rules.mak: Add tool REGTESTS. * bootdata/hivesys.inf: Add service kmregtests. * include/win32k/bitmaps.h (DIB_BitmapInfoSize): Correct prototype. * ntoskrnl/ke/i386/exp.c (KiKernelTrapHandler): Reverse wrong boolean expression. * ntoskrnl/ke/i386/usertrap.c (KiUserTrapHandler): Ditto. * tools/Makefile: Add tool regtests. * tools/config.mk: Handle SEH option. * tools/helper.mk: Support regression tests. svn path=/trunk/; revision=5083
2003-07-11 18:13:57 +00:00
regtests$(EXE_POSTFIX): regtests.c
@$(HOST_CC) $(CFLAGS) -o $@ $<
2003-07-11 Casper S. Hornstrup <chorns@users.sourceforge.net> * regtests: New directory. * regtests/kmregtests: Ditto. * regtests/kmrtint: Ditto. * regtests/regtests: Ditto. * regtests/shared: Ditto. * regtests/win32base: Ditto. * include/roskrnl.h: New file. * regtests/Makefile: Ditto. * regtests/kmregtests/.cvsignore: Ditto. * regtests/kmregtests/driver.c: Ditto. * regtests/kmregtests/kmregtests.h: Ditto. * regtests/kmregtests/Makefile: Ditto. * regtests/kmrtint/.cvsignore: Ditto. * regtests/kmrtint/kmrtint.c: Ditto. * regtests/kmrtint/kmrtint.def: Ditto. * regtests/kmrtint/kmrtint.edf: Ditto. * regtests/kmrtint/Makefile: Ditto. * regtests/regtests/.cvsignore: Ditto. * regtests/regtests/Makefile: Ditto. * regtests/regtests/regtests.c: Ditto. * regtests/shared/.cvsignore: Ditto. * regtests/shared/Makefile: Ditto. * regtests/shared/regtests.c: Ditto. * regtests/shared/regtests.h: Ditto. * regtests/win32base/.cvsignore: Ditto. * regtests/win32base/driver.c: Ditto. * regtests/win32base/file-1.c: Ditto. * regtests/win32base/Makefile: Ditto. * regtests/win32base/win32base.def: Ditto. * regtests/win32base/win32base.edf: Ditto. * tools/regtests.c: Ditto. * Makefile: Add target regtests. * config: Add SEH option. * rules.mak: Add tool REGTESTS. * bootdata/hivesys.inf: Add service kmregtests. * include/win32k/bitmaps.h (DIB_BitmapInfoSize): Correct prototype. * ntoskrnl/ke/i386/exp.c (KiKernelTrapHandler): Reverse wrong boolean expression. * ntoskrnl/ke/i386/usertrap.c (KiUserTrapHandler): Ditto. * tools/Makefile: Add tool regtests. * tools/config.mk: Handle SEH option. * tools/helper.mk: Support regression tests. svn path=/trunk/; revision=5083
2003-07-11 18:13:57 +00:00
rcopy$(EXE_POSTFIX): rcopy.c
@$(HOST_CC) $(CFLAGS) $< -o $@
rdel$(EXE_POSTFIX): rdel.c
@$(HOST_CC) $(CFLAGS) $< -o $@
rline$(EXE_POSTFIX): rline.c
@$(HOST_CC) $(CFLAGS) $< -o $@
rmkdir$(EXE_POSTFIX): rmkdir.c
@$(HOST_CC) $(CFLAGS) $< -o $@
rrmdir$(EXE_POSTFIX): rrmdir.c
@$(HOST_CC) $(CFLAGS) $< -o $@
rsym_common.o: rsym_common.c rsym.h
@$(HOST_CC) $(CFLAGS) -c $< -o $@
rsym.o: rsym.c rsym.h
@$(HOST_CC) $(CFLAGS) -c $< -o $@
rsym$(EXE_POSTFIX): rsym.o rsym_common.o
@$(HOST_CC) $(CFLAGS) $^ -o $@
raddr2line.o: raddr2line.c rsym.h
@$(HOST_CC) $(CFLAGS) -c $< -o $@
raddr2line$(EXE_POSTFIX): raddr2line.o rsym_common.o
@$(HOST_CC) $(CFLAGS) $^ -o $@
2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net> * rules.mak (RSYM): Define. * include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum _DEBUG_CONTROL_CODE. * include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add. (LdrLoadModuleSymbols): Remove. * include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION, ST_LINENUMBER): Add. (SYMBOL). Make Name an ANSI_STRING. (IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add. * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols(). * lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to LdrpLoadUserModuleSymbols. (LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code. (LdrLoadDll): assert if out of memory. (LdrLoadDll): Call LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols(). * lib/ntdll/string/ctype.c (_pctype): #undef. * ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call LdrLoadUserModuleSymbols on DebugDbgLoadSymbols. * ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add. * ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo an IMAGE_SYMBOL_INFO. * ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype. (print_address): Change #ifdef KDBG to #ifdef DBG. (KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump one stack frame per line. * ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel address space so larger modules can be passed from the boot loader. * ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype. (print_user_address): Print symbols using LdrGetAddressInformation(). * ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE, STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add. (TAG_SYM_BUF): Remove. (LdrInitDebug): Remove unneeded code. (LdrInit1): Prepare for loading symbols. (LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer, LdrpLoadUserModuleSymbolsFromBuffer): Remove. (LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName, LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add. (LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new symbol structures. (LdrLoadUserModuleSymbols): Cache symbol buffers. (LdrUnloadModuleSymbols): Implement. (LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG. (LdrPEProcessModule): Split a line into two lines. (LdrPEProcessModule): Setup for loading symbols. * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ. * ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to free symbols. (PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG. * ntoskrnl/rtl/ctype.c (_pctype): #undef. * ntoskrnl/rtl/string.c (strncpy): Terminate destination string. * tools/Makefile (rsym): Add target. * tools/helper.mk: Include config and use -g if DBG = 1. svn path=/trunk/; revision=3212
2002-07-13 12:44:09 +00:00
rtouch$(EXE_POSTFIX): rtouch.c
@$(HOST_CC) $(CFLAGS) $< -o $@
mkflpimg$(EXE_POSTFIX): mkflpimg.c
@$(HOST_CC) $(CFLAGS) $< -o $@
hack-coff$(EXE_POSTFIX): hack-coff.c
@$(HOST_CC) $(CFLAGS) $< -o $@
ppc-le2be$(EXE_POSTFIX): ppc-le2be.c
@$(HOST_CC) $(CFLAGS) $< -o $@
depends$(EXE_POSTFIX): depends.c
@$(HOST_CC) $(CFLAGS) $< -o $@
.PHONY: zlib_target wmc_target cdmake_target mkhive_target rgenstat_target pipetools_target wrc_target \
widl_target buildno_target lib_unicode lib_wpp
2003-08-24 Casper S. Hornstrup <chorns@users.sourceforge.net> * Makefile: Support creating compressed bootable CDs. * rules.mak (HOST_CXX, HOST_AR, CABMAN): Define. * bootdata/txtsetup.sif: Add Cabinets section. Remove files that are put in reactos.cab. * subsys/system/usetup/filequeue.c (SetupCloseFileQueue): Release memory allocated for SourceCabinet. (SetupQueueCopy): Support copying files in cabinets. (SetupCommitFileQueue): Support copying files in cabinets. * subsys/system/usetup/filequeue.h (SetupQueueCopy): Add SourceCabinet parameter. * subsys/system/usetup/filesup.c (SetupExtractFile): New function. * subsys/system/usetup/filesup.h (SetupExtractFile): Prototype. * subsys/system/usetup/infcache.c (InfOpenBufferedFile): New function. * subsys/system/usetup/infcache.h (InfOpenBufferedFile): Prototype. * subsys/system/usetup/makefile (TARGET_SDKLIBS): Add zlib.a. (TARGET_CFLAGS): Add zlib to include path. (TARGET_OBJECTS): Add cabinet.o. * subsys/system/usetup/usetup.c (PrepareCopyPageInfFile): New function. (PrepareCopyPage): Process Cabinets section. * tools/helper.mk: Support C++ applications. * rosbin.txt: Remove. * bootdata/packages: New directory. * bootdata/packages/reactos.dff: New file. * lib/zlib/Makefile.host: New file. * subsys/system/usetup/cabinet.c: Ditto. * subsys/system/usetup/cabinet.h: Ditto. * tools/cabman: New directory. * tools/cabman/.cvsignore: New file. * tools/cabman/cabinet.cxx: Ditto. * tools/cabman/cabinet.h: Ditto. * tools/cabman/cabman.h: Ditto. * tools/cabman/dff.txt: Ditto. * tools/cabman/dfp.cxx: Ditto. * tools/cabman/dfp.h: Ditto. * tools/cabman/main.cxx: Ditto. * tools/cabman/makefile: Ditto. * tools/cabman/makefile.win32: Ditto. * tools/cabman/mszip.cxx: Ditto. * tools/cabman/mszip.h: Ditto. * tools/cabman/raw.cxx: Ditto. * tools/cabman/raw.h: Ditto. svn path=/trunk/; revision=5813
2003-08-24 10:36:07 +00:00
zlib_target:
$(MAKE) --silent -C ../lib/zlib -f Makefile.host
2003-08-24 Casper S. Hornstrup <chorns@users.sourceforge.net> * Makefile: Support creating compressed bootable CDs. * rules.mak (HOST_CXX, HOST_AR, CABMAN): Define. * bootdata/txtsetup.sif: Add Cabinets section. Remove files that are put in reactos.cab. * subsys/system/usetup/filequeue.c (SetupCloseFileQueue): Release memory allocated for SourceCabinet. (SetupQueueCopy): Support copying files in cabinets. (SetupCommitFileQueue): Support copying files in cabinets. * subsys/system/usetup/filequeue.h (SetupQueueCopy): Add SourceCabinet parameter. * subsys/system/usetup/filesup.c (SetupExtractFile): New function. * subsys/system/usetup/filesup.h (SetupExtractFile): Prototype. * subsys/system/usetup/infcache.c (InfOpenBufferedFile): New function. * subsys/system/usetup/infcache.h (InfOpenBufferedFile): Prototype. * subsys/system/usetup/makefile (TARGET_SDKLIBS): Add zlib.a. (TARGET_CFLAGS): Add zlib to include path. (TARGET_OBJECTS): Add cabinet.o. * subsys/system/usetup/usetup.c (PrepareCopyPageInfFile): New function. (PrepareCopyPage): Process Cabinets section. * tools/helper.mk: Support C++ applications. * rosbin.txt: Remove. * bootdata/packages: New directory. * bootdata/packages/reactos.dff: New file. * lib/zlib/Makefile.host: New file. * subsys/system/usetup/cabinet.c: Ditto. * subsys/system/usetup/cabinet.h: Ditto. * tools/cabman: New directory. * tools/cabman/.cvsignore: New file. * tools/cabman/cabinet.cxx: Ditto. * tools/cabman/cabinet.h: Ditto. * tools/cabman/cabman.h: Ditto. * tools/cabman/dff.txt: Ditto. * tools/cabman/dfp.cxx: Ditto. * tools/cabman/dfp.h: Ditto. * tools/cabman/main.cxx: Ditto. * tools/cabman/makefile: Ditto. * tools/cabman/makefile.win32: Ditto. * tools/cabman/mszip.cxx: Ditto. * tools/cabman/mszip.h: Ditto. * tools/cabman/raw.cxx: Ditto. * tools/cabman/raw.h: Ditto. svn path=/trunk/; revision=5813
2003-08-24 10:36:07 +00:00
wmc_target:
$(MAKE) --silent -C wmc wmc$(EXE_POSTFIX)
2003-08-24 Casper S. Hornstrup <chorns@users.sourceforge.net> * Makefile: Support creating compressed bootable CDs. * rules.mak (HOST_CXX, HOST_AR, CABMAN): Define. * bootdata/txtsetup.sif: Add Cabinets section. Remove files that are put in reactos.cab. * subsys/system/usetup/filequeue.c (SetupCloseFileQueue): Release memory allocated for SourceCabinet. (SetupQueueCopy): Support copying files in cabinets. (SetupCommitFileQueue): Support copying files in cabinets. * subsys/system/usetup/filequeue.h (SetupQueueCopy): Add SourceCabinet parameter. * subsys/system/usetup/filesup.c (SetupExtractFile): New function. * subsys/system/usetup/filesup.h (SetupExtractFile): Prototype. * subsys/system/usetup/infcache.c (InfOpenBufferedFile): New function. * subsys/system/usetup/infcache.h (InfOpenBufferedFile): Prototype. * subsys/system/usetup/makefile (TARGET_SDKLIBS): Add zlib.a. (TARGET_CFLAGS): Add zlib to include path. (TARGET_OBJECTS): Add cabinet.o. * subsys/system/usetup/usetup.c (PrepareCopyPageInfFile): New function. (PrepareCopyPage): Process Cabinets section. * tools/helper.mk: Support C++ applications. * rosbin.txt: Remove. * bootdata/packages: New directory. * bootdata/packages/reactos.dff: New file. * lib/zlib/Makefile.host: New file. * subsys/system/usetup/cabinet.c: Ditto. * subsys/system/usetup/cabinet.h: Ditto. * tools/cabman: New directory. * tools/cabman/.cvsignore: New file. * tools/cabman/cabinet.cxx: Ditto. * tools/cabman/cabinet.h: Ditto. * tools/cabman/cabman.h: Ditto. * tools/cabman/dff.txt: Ditto. * tools/cabman/dfp.cxx: Ditto. * tools/cabman/dfp.h: Ditto. * tools/cabman/main.cxx: Ditto. * tools/cabman/makefile: Ditto. * tools/cabman/makefile.win32: Ditto. * tools/cabman/mszip.cxx: Ditto. * tools/cabman/mszip.h: Ditto. * tools/cabman/raw.cxx: Ditto. * tools/cabman/raw.h: Ditto. svn path=/trunk/; revision=5813
2003-08-24 10:36:07 +00:00
cabman_target:
$(MAKE) --silent -C cabman cabman$(EXE_POSTFIX)
2003-08-24 Casper S. Hornstrup <chorns@users.sourceforge.net> * Makefile: Support creating compressed bootable CDs. * rules.mak (HOST_CXX, HOST_AR, CABMAN): Define. * bootdata/txtsetup.sif: Add Cabinets section. Remove files that are put in reactos.cab. * subsys/system/usetup/filequeue.c (SetupCloseFileQueue): Release memory allocated for SourceCabinet. (SetupQueueCopy): Support copying files in cabinets. (SetupCommitFileQueue): Support copying files in cabinets. * subsys/system/usetup/filequeue.h (SetupQueueCopy): Add SourceCabinet parameter. * subsys/system/usetup/filesup.c (SetupExtractFile): New function. * subsys/system/usetup/filesup.h (SetupExtractFile): Prototype. * subsys/system/usetup/infcache.c (InfOpenBufferedFile): New function. * subsys/system/usetup/infcache.h (InfOpenBufferedFile): Prototype. * subsys/system/usetup/makefile (TARGET_SDKLIBS): Add zlib.a. (TARGET_CFLAGS): Add zlib to include path. (TARGET_OBJECTS): Add cabinet.o. * subsys/system/usetup/usetup.c (PrepareCopyPageInfFile): New function. (PrepareCopyPage): Process Cabinets section. * tools/helper.mk: Support C++ applications. * rosbin.txt: Remove. * bootdata/packages: New directory. * bootdata/packages/reactos.dff: New file. * lib/zlib/Makefile.host: New file. * subsys/system/usetup/cabinet.c: Ditto. * subsys/system/usetup/cabinet.h: Ditto. * tools/cabman: New directory. * tools/cabman/.cvsignore: New file. * tools/cabman/cabinet.cxx: Ditto. * tools/cabman/cabinet.h: Ditto. * tools/cabman/cabman.h: Ditto. * tools/cabman/dff.txt: Ditto. * tools/cabman/dfp.cxx: Ditto. * tools/cabman/dfp.h: Ditto. * tools/cabman/main.cxx: Ditto. * tools/cabman/makefile: Ditto. * tools/cabman/makefile.win32: Ditto. * tools/cabman/mszip.cxx: Ditto. * tools/cabman/mszip.h: Ditto. * tools/cabman/raw.cxx: Ditto. * tools/cabman/raw.h: Ditto. svn path=/trunk/; revision=5813
2003-08-24 10:36:07 +00:00
cdmake_target:
$(MAKE) --silent -C cdmake cdmake$(EXE_POSTFIX)
mkhive_target:
$(MAKE) --silent -C mkhive mkhive$(EXE_POSTFIX)
rgenstat_target:
$(MAKE) --silent -C rgenstat rgenstat$(EXE_POSTFIX)
wine2ros_target:
$(MAKE) --silent -C wine2ros wine2ros$(EXE_POSTFIX)
pipetools_target:
ifeq ($(HOST),mingw32-windows)
$(MAKE) --silent -C pipetools
endif
winebuild_target:
$(MAKE) --silent -C winebuild winebuild$(EXE_POSTFIX)
bin2res_target:
$(MAKE) --silent -C bin2res bin2res$(EXE_POSTFIX)
wrc_target: $(LIBS)
$(MAKE) --silent -C wrc wrc$(EXE_POSTFIX)
widl_target: lib_wpp
$(MAKE) --silent -C widl widl$(EXE_POSTFIX)
buildno_target:
$(MAKE) --silent -C buildno buildno$(EXE_POSTFIX)
lib_unicode:
$(MAKE) -C unicode
lib_wpp:
$(MAKE) -C wpp
clean:
$(MAKE) --silent -C buildno clean
$(MAKE) --silent -C widl clean
$(MAKE) --silent -C wrc clean
$(MAKE) --silent -C cabman clean
$(MAKE) --silent -C cdmake clean
$(MAKE) --silent -C mkhive clean
$(MAKE) --silent -C wmc clean
$(MAKE) --silent -C rgenstat clean
$(MAKE) --silent -C wine2ros clean
$(MAKE) --silent -C winebuild clean
$(MAKE) --silent -C bin2res clean
$(MAKE) --silent -C ../lib/zlib -f Makefile.host clean
$(MAKE) -C wpp clean
$(MAKE) -C unicode clean
ifeq ($(HOST_TYPE),unix)
@rm mkconfig
@rm $(TOOLS)
else
$(MAKE) --silent -C pipetools clean
$(rm) *$(EXE_POSTFIX)
endif
.PHONY: all clean