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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
##--------------------------------------------------------------------------##
#
# Makefile for VME Linux/m68k Loader
#
# (c) Copyright 1997 by Nick Holgate
#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file COPYING for more details.
#
#
include Version.make
DESTDIR =
BINDIR = /sbin
MANDIR = /usr/man
LDRINC = loader/include
ifneq ($(shell uname -m),m68k)
CROSS_COMPILE = m68k-linux-
else
CROSS_COMPILE =
endif
AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc
STRIP = $(CROSS_COMPILE)strip
INSTALL = install
MAKE = make
CFLAGS = -O2 -fomit-frame-pointer -Wall -I$(LDRINC)
SUBDIRS = utils loader/bvme loader/mvme
OBJS = vmelilo.o geometry.o config.o \
loader/bvme/bvme.o \
loader/mvme/mvme.o
##--------------------------------------------------------------------------##
# Targets
#
.PHONY: all
all: subdirs vmelilo docs
.PHONY: subdirs
subdirs: version.h
set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i; done
vmelilo: $(OBJS) Makefile
$(CC) $(OBJS) -o vmelilo
$(STRIP) -R .note -R .comment vmelilo
.PHONY: docs
docs:
$(MAKE) -C docs
##--------------------------------------------------------------------------##
# Dependencies
#
vmelilo.o: vmelilo.c vmelilo.h version.h $(LDRINC)/loaderdefs.h
config.o: config.c vmelilo.h version.h $(LDRINC)/loaderdefs.h
geometry.o: geometry.c vmelilo.h version.h $(LDRINC)/loaderdefs.h
version.h: Version.make version.h.in
sed -e s/__VERSION__/$(VERSION)/ \
-e s/__DATE__/$(DATE)/ <version.h.in >version.h
##--------------------------------------------------------------------------##
# Installation
#
.PHONY: install install-bin install-man
install: all install-bin install-man
install-bin: vmelilo
$(INSTALL) -o root -g root -m 0755 vmelilo $(DESTDIR)$(BINDIR)/
install-man: docs
$(INSTALL) -o root -g root -m 0644 docs/vmelilo.8 $(DESTDIR)$(MANDIR)/man8/
$(INSTALL) -o root -g root -m 0644 docs/vmelilo.conf.5 $(DESTDIR)$(MANDIR)/man5/
##--------------------------------------------------------------------------##
# Clean up
#
.PHONY: clean
clean:
rm -f vmelilo *.o version.h
for i in $(SUBDIRS) docs; do $(MAKE) -C $$i clean; done
##--------------------------------------------------------------------------##
# General rules
#
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $*.o
##-----------------------------< end of file >------------------------------##
|