ttyload/Makefile

64 lines
1.5 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`
LDFLAGS = `./ldflags`
OBJS = arch/${ARCH}/getload.o arch/default/homebrews.o
# this is what I use most places...
CC=gcc -pedantic -Wall
# 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: archbuild
./ttyload -i 1
archbuild:
make ttyload ARCH=`uname -s`
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
clean:
rm -f *.o $(OBJS) core a.out
clobber: clean
rm -f loader ttyload
# install, gently. not much to it:
install: archbuild
/bin/cp -i 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 $<