aboutsummaryrefslogtreecommitdiffstats
path: root/com32/tools
Commit message (Collapse)AuthorAgeFilesLines
* Delete unused filesH. Peter Anvin2016-02-092-813/+2
| | | | | | Remove several files which aren't used at all during the build. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add per-firmware object directory supportMatt Fleming2012-10-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have multiple firmware backends it no longer makes sense to write object files to the same directory as their source. A better solution is to write the object files to a per-firmware directory under a top-level object directory. The top-level object directory can be specified on the command-line with the O= variable, e.g. make O=/tmp/obj. If no top-level object directory is specified an 'obj' directory is created in the top-level of the Syslinux source repository. All the existing make targets continue to work as before, however now they apply to all firmware backends, e.g. 'make installer' will build the BIOS, 32-bit EFI and 64-bit EFI installers and place them under $(OBJ)/bios, $(OBJ)/efi32 and $(OBJ)/efi64 respectively. Note unlike every other bit of Syslinux, the gpxe objects are still kept in the src directory, e.g. gpxe/src, since gpxe is only required by the BIOS backend. It is possible to specify a make target for a specific firmware or list of firmware with the following syntax, make [firmware[,firmware]] [target[,target]] To clean the object directory for just the BIOS firmware type, 'make bios clean' To build both the 32-bit and 64-bit EFI installers type, 'make efi32 efi64 installer' Since the Syslinux make infrastructure is now more complex a new file doc/building.txt has been created to explain how to build Syslinux. The top-level Makefile now exports some make variables for use in module Makefiles, - topdir - the top-level source directory of the Syslinux repository, e.g. /usr/src/syslinux - objdir - the top-level object directory for the firmware backend currently being built, e.g. /obj/syslinux/bios - SRC - the source directory in the Syslinux repository for the module currently being built, e.g. /usr/src/syslinux/com32/libupload - OBJ - the object directory for the module currently being built, e.g. /obj/syslinux/bios/com32/libupload Since we're rewriting the Makefile infrastructure anyway it seemed like a good idea to add parallel support. By writing subdirectories as prequisites for make targets the objects in those subdirectories can be built in parallel. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* relocs: Move stop to the endH. Peter Anvin2012-05-291-8/+9
| | | | | | | | | | The Linux kernel puts the stop word at the beginning of the relocation list (the list is processed backwards); Syslinux puts the stop word at the beginning of the relocation list (the list is processed forwards.) Missed that change when syncing with the kernel version. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* relocs: sync with the Linux kernelH. Peter Anvin2012-05-293-98/+286
| | | | | | | | Sync the relocs tool with the Linux kernel. The new version of this tool correctly verifies that any absolute symbol is either listed as allowed absolute or is listed as relative. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile: Move Makefile fragments into mk/Matt Fleming2011-04-071-2/+2
| | | | | | | | | | | | | | | | | | Move the MCONFIG files into a mk/ directory and give them more descriptive names. This is purely a cosmetic change to make the 'include' directives a bit more coherent by making it obvious exactly which MCONFIG file we're including. For example, in com32/lua/src/Makefile we exchange the line, include ../../MCONFIG for the much more comprehensible, include $(MAKEDIR)/com32.mk Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
* com32/tools/relocs.c: remove variables set but not usedH. Peter Anvin2011-03-161-2/+0
| | | | | | gcc 4.6 warns on variables set but not used, so remove them. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* com32/tools: nothing to install hereH. Peter Anvin2010-04-061-1/+1
| | | | | | | | | | This directory contains builttime tools, so they don't need to be installed anywhere. This fixes "make install-all". Reported-by: Dag Wieers <dag@wieers.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Add .gitignore files for generated filesH. Peter Anvin2009-06-151-0/+1
| | | | | | Create new .gitignore files and add generated files to them. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* relocs: handle R_386_NONE; better error messagesH. Peter Anvin2009-05-251-5/+7
| | | | | | | | Handle R_386_NONE, which apparently can end up being generated by binutils in certain circumstances involving sections being removed completely. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* com32r: allow absolute and relative symbols based on regexH. Peter Anvin2009-05-251-37/+73
| | | | | | | Allow relocs.c to sort linker-assigned absolute symbols into true absolute and relative symbols based on regular expressions. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add missing com32/tools/MakefileH. Peter Anvin2009-05-241-0/+30
| | | | | | | Add missing file com32/tools/Makefile from earlier checkins. I really need to pay better attention here... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* com32: make com32 modules self-relocating (COM32R)H. Peter Anvin2009-05-241-0/+655
Introduce a new "COM32R" format, which is exactly like COM32 except that they contain position-independent code. Therefore, the core can load them at any sufficiently aligned address; by protocol select 4K as the alignment. Signed-off-by: H. Peter Anvin <hpa@zytor.com>