blob: 337560bbbf1fa291208669b872a7ab7c6eb1d0c0 [file] [log] [blame]
## -*- makefile -*- -------------------------------------------------------
##
## Copyright 2008 H. Peter Anvin - All Rights Reserved
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
## Boston MA 02110-1301, USA; either version 2 of the License, or
## (at your option) any later version; incorporated herein by reference.
##
## -----------------------------------------------------------------------
##
## Common configurables
##
# No builtin rules
MAKEFLAGS += -r
MAKE += -r
BINDIR = /usr/bin
SBINDIR = /sbin
LIBDIR = /usr/lib
DATADIR = /usr/share
AUXDIR = $(DATADIR)/syslinux
DIAGDIR = $(AUXDIR)/diag
MANDIR = /usr/man
INCDIR = /usr/include
TFTPBOOT = /tftpboot
COM32DIR = $(AUXDIR)/com32
BOOTDIR = /boot
EXTLINUXDIR = $(BOOTDIR)/extlinux
ifdef DEBUG
# This allows DEBUGOPT to be set from the command line
DEBUGOPT = -DDEBUG=$(DEBUG)
endif
NASM = nasm
NASMOPT = -Ox $(DEBUGOPT)
PERL = perl
PYTHON = python
UPX = upx
CHMOD = chmod
CC = gcc
gcc_ok = $(shell tmpf=gcc_ok.$$$$.tmp; \
if $(CC) $(GCCOPT) $(1) -c $(topdir)/dummy.c \
-o $$tmpf 2>/dev/null ; \
then echo '$(1)'; else echo '$(2)'; fi; \
rm -f $$tmpf)
LD = ld
OBJDUMP = objdump
OBJCOPY = objcopy
STRIP = strip
AR = ar
NM = nm
RANLIB = ranlib
STRIP = strip
GZIPPROG = gzip
XZ = xz
PNGTOPNM = pngtopnm
MCOPY = mcopy
MFORMAT = mformat
MKISOFS = mkisofs
SED = sed
WGET = wget
com32 = $(topdir)/com32
# Architecture definition
SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
# on x86_64, ARCH has trailing whitespace
# strip white spaces in ARCH
ARCH ?= $(strip $(SUBARCH))
# Common warnings we want for all gcc-generated code
GCCWARN = -W -Wall -Wstrict-prototypes $(DEBUGOPT)
# Common stanza to make gcc generate .*.d dependency files
MAKEDEPS = -Wp,-MT,$@,-MD,$(dir $@).$(notdir $@).d
# Dependencies that exclude system headers; use whenever we use
# header files from the platform.
UMAKEDEPS = -Wp,-MT,$@,-MMD,$(dir $@).$(notdir $@).d
# Items that are only appropriate during development; this file is
# removed when tarballs are generated.
-include $(MAKEDIR)/devel.mk
# Local additions, like -DDEBUG can go here
-include $(MAKEDIR)/local.mk