mirror of https://github.com/lindes/ttyload.git
93 lines
2.0 KiB
Makefile
93 lines
2.0 KiB
Makefile
# Makefile for ttyload
|
|
# Copyright 2001 by David Lindes, All Rights Reserved
|
|
# see the "LICENSE" file for licensing info.
|
|
|
|
# change this if you want to use 'make install' and have it go
|
|
# somewhere else:
|
|
INSTALLDIR = /usr/local/bin
|
|
|
|
ARCH = `uname -s | sed -e 's/ /-/g'`
|
|
LDFLAGS = `./ldflags`
|
|
|
|
OBJS = arch/${ARCH}/getload.o \
|
|
arch/${ARCH}/terminfo.o \
|
|
${NULL}
|
|
|
|
# this is what I use most places...
|
|
CC=gcc -pedantic -Wall -Werror
|
|
|
|
# for the things in the sub-directory:
|
|
INCLUDES = -I$${PWD:-.} \
|
|
-I$${PWD:-.}/arch/${ARCH} \
|
|
-I$${PWD:-.}/arch/default
|
|
|
|
# Debugging compiles?
|
|
DEBUG = -g
|
|
|
|
VERSION = -DVERSION='"'`cat Version`'"'
|
|
|
|
CFLAGS = $(INCLUDES) $(OTHER_FLAGS) $(DEBUG) $(VERSION)
|
|
|
|
# most people won't want loader, so don't bother building it:
|
|
# PROGRAMS = archbuild loader
|
|
PROGRAMS = archbuild
|
|
|
|
default: $(PROGRAMS)
|
|
|
|
test: $(PROGRAMS)
|
|
./ttyload -i 1
|
|
|
|
# which architechtures are just symlinks?
|
|
ARCHLINKS_FREEBSD = \
|
|
arch/Darwin \
|
|
arch/Isilon-OneFS \
|
|
${NULL}
|
|
|
|
ARCHLINKS_THISARCH = \
|
|
arch/thisarch \
|
|
${NULL}
|
|
|
|
ARCHLINKS = \
|
|
$(ARCHLINKS_FREEBSD) \
|
|
$(ARCHLINKS_THISARCH) \
|
|
${NULL}
|
|
|
|
# Some architechtures mimic eachother:
|
|
$(ARCHLINKS_FREEBSD):
|
|
ln -s FreeBSD $@
|
|
|
|
$(ARCHLINKS_THISARCH):
|
|
ln -s ${ARCH} $@
|
|
|
|
archlinks: $(ARCHLINKS)
|
|
|
|
archbuild: archlinks
|
|
make archtest ttyload ARCH=$(ARCH)
|
|
|
|
ttyload.c: ttyload.h Version
|
|
touch ttyload.c
|
|
|
|
# have to be explicit here, for some make systems, like .c.o below:
|
|
ttyload: $(OBJS) ttyload.o
|
|
$(CC) $(LDFLAGS) -o $@ $(OBJS) ttyload.o
|
|
|
|
archtest: $(OBJS) archtest.o
|
|
$(CC) $(LDFLAGS) -o $@ $(OBJS) archtest.o
|
|
|
|
clean:
|
|
rm -f *.o $(OBJS) core a.out
|
|
|
|
clobber: clean
|
|
rm -f loader ttyload archtest $(ARCHLINKS)
|
|
|
|
# install, gently. not much to it:
|
|
install: $(PROGRAMS)
|
|
/bin/cp ttyload ${INSTALLDIR}/ttyload
|
|
|
|
# because different systems' make have different behaviors on how they
|
|
# deal with building stuff in subdirectories, and because I don't feel
|
|
# like descending into the subdirectories to make a single object file,
|
|
# I'll force the .c.o rule to what I'm expecting:
|
|
.c.o:
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|