summaryrefslogtreecommitdiff
path: root/utils/Makefile
blob: 0c5a3636cc3f99f1718c002537be428488513b47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
## -----------------------------------------------------------------------
##
##   Copyright 1998-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., 53 Temple Place Ste 330,
##   Boston MA 02111-1307, USA; either version 2 of the License, or
##   (at your option) any later version; incorporated herein by reference.
##
## -----------------------------------------------------------------------

#
# SYSLINUX utilities
#
# No builtin rules
MAKEFLAGS += -r
MAKE      += -r

TMPFILE = $(shell mktemp /tmp/gcc_ok.XXXXXX)

CC	 = gcc

gcc_ok   = $(shell tmpf=$(TMPFILE); if $(CC) $(1) dummy.c -o $$tmpf 2>/dev/null; \
	           then echo '$(1)'; else echo '$(2)'; fi; rm -f $$tmpf)

comma   := ,
LDHASH  := $(call gcc_ok,-Wl$(comma)--hash-style=both,)

CFLAGS   = -W -Wall -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64
LDFLAGS  = -O2 -s $(LDHASH)
LD	 = ld
PERL	 = perl

TARGETS	 = mkdiskimage gethostip
ASIS     = keytab-lilo lss16toppm md5pass ppmtolss16 sha1pass syslinux2ansi

all: mkdiskimage gethostip

%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<

mkdiskimage: mkdiskimage.in ../mbr/mbr.bin bin2hex.pl
	$(PERL) bin2hex.pl < ../mbr/mbr.bin | cat mkdiskimage.in - > $@
	chmod a+x $@

gethostip: gethostip.o
	$(CC) $(LDFLAGS) -o $@ $^

tidy dist:
	rm -f *.o

clean: tidy
	rm -f $(TARGETS)

spotless: clean

installer: all