home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Audio 4.94 - Over 11,000 Files
/
audio-11000.iso
/
amiga
/
midi
/
obrst103.lha
/
OberSuite-1.03
/
SourceCode
/
Makefile
< prev
next >
Wrap
Makefile
|
1993-01-23
|
6KB
|
180 lines
#############################################################################
# Makefile: Makefile for OberSuite.
# A part of OberSuite for the Commodore Amiga.
#
# Author: Daniel Barrett, barrett@cs.umass.edu.
# Version: 1.0.
# Copyright: None! This program is in the Public Domain.
# Please share it with others.
#############################################################################
LIBS = -lc
COMP_INC = headers.comp
LIBS = -lc
OPTIMIZE = -so
DEBUGGING = # -bs
CFLAGS = $(OPTIMIZE) -hi $(COMP_INC) $(DEBUGGING)
LDEBUGGING = # -g
LFLAGS = $(LDEBUGGING) +Q
DESTDIR = usr:mybin
##############################################################################
# Files used for all programs.
##############################################################################
HEADERS = oberheim.h midi.h bits.h patchinfo.h
MAINHEADER = decl.h
OBJ = parse.o usage.o patchinfo.o getopt.o amigados.o
##############################################################################
# Files used for individual programs.
##############################################################################
GETPROG = ObGet
GETOBJ = $(OBJ) obget.o tofile.o frommidi.o serial.o
PUTPROG = ObPut
PUTOBJ = $(OBJ) obput.o fromfile.o tomidi.o serial.o
PTPROG = ObType
PTOBJ = $(OBJ) obtype.o fromfile.o
EXPROG = ObExtract
EXOBJ = $(OBJ) obextract.o fromfile.o tofile.o tomidi.o serial.o \
bits.o ranges.o
IPROG = ObInfo
IOBJ = obinfo.o
ALLPROGS = $(GETPROG) $(PUTPROG) $(PTPROG) $(EXPROG)
##############################################################################
# All program targets.
##############################################################################
all: $(ALLPROGS)
##############################################################################
# Equivalent names for convenience.
##############################################################################
obget: $(GETPROG)
obput: $(PUTPROG)
obtype: $(PTPROG)
obextract: $(EXPROG)
obinfo: $(IPROG) # Not included.
##############################################################################
# Compiled headers.
##############################################################################
$(COMP_INC): $(MAINHEADER)
cc $(OPTIMIZE) $(DEBUGGING) -ho $(COMP_INC) $(MAINHEADER)
$(MAINHEADER): $(HEADERS)
##############################################################################
# Non-main-program object dependencies.
##############################################################################
amigados.o: $(MAINHEADER) amigados.c
bits.o: bits.c bits.h
files.o: $(MAINHEADER) files.c
fromfile.o: $(MAINHEADER) fromfile.c
frommidi.o: $(MAINHEADER) frommidi.c
getopt.o: getopt.c
parse.o: $(MAINHEADER) parse.c
patchinfo.o: $(MAINHEADER) patchinfo.c
ranges.o: ranges.c bits.h
serial.o: $(MAINHEADER) serial.c
tofile.o: $(MAINHEADER) tofile.c
tomidi.o: $(MAINHEADER) tomidi.c
usage.o: $(MAINHEADER) usage.c
##############################################################################
# The "get" program.
##############################################################################
$(GETPROG): $(COMP_INC) $(GETOBJ)
ln $(LFLAGS) $(GETOBJ) -o $(GETPROG) $(LIBS)
obget.o: obget.c obget.h $(MAINHEADER)
##############################################################################
# The "put" program
##############################################################################
$(PUTPROG): $(COMP_INC) $(PUTOBJ)
ln $(LFLAGS) $(PUTOBJ) -o $(PUTPROG) $(LIBS)
obput.o: obput.c obput.h $(MAINHEADER)
##############################################################################
# The "type" program
##############################################################################
$(PTPROG): $(COMP_INC) $(PTOBJ)
ln $(LFLAGS) $(PTOBJ) -o $(PTPROG) $(LIBS)
obtype.o: obtype.c obtype.h $(MAINHEADER)
##############################################################################
# The "extract" program
##############################################################################
$(EXPROG): $(COMP_INC) $(EXOBJ)
ln $(LFLAGS) $(EXOBJ) -o $(EXPROG) $(LIBS)
obextract.o: obextract.c obextract.h $(MAINHEADER)
##############################################################################
# The "info" program
##############################################################################
$(IPROG): $(COMP_INC) $(IOBJ)
ln $(LFLAGS) $(IOBJ) -o $(IPROG) $(LIBS)
obinfo.o: obinfo.c obinfo.h $(MAINHEADER)
##############################################################################
# Installation
##############################################################################
install: $(ALLPROGS)
copy $(GETPROG) $(DESTDIR)/$(GETPROG)
copy $(PUTPROG) $(DESTDIR)/$(PUTPROG)
copy $(PTPROG) $(DESTDIR)/$(PTPROG)
copy $(EXPROG) $(DESTDIR)/$(EXPROG)
##############################################################################
# Clean up
##############################################################################
clean:
delete \#?.o
veryclean: clean
delete $(COMP_INC) $(ALLPROGS) \#?.dbg
backup:
copy \#?.c df1:
copy \#?.h df1:
copy Makefile df1:
copy TODO df1:
copy README df1:
copy EXAMPLES df1:
copy \#?.DOC df1:
##############################################################################
# ranges test program
##############################################################################
ranges: $(COMP_INC) bits.o parse.o
cc $(CFLAGS) -DTEST_RANGE_PROGRAM ranges.c
ln +Q ranges.o bits.o parse.o -o ranges -lc
ranges.o: ranges.c bits.h oberheim.h $(MAINHEADER)
bits.o: bits.c bits.h