annotate makefile @ 0:5242703e91d3 tip

Initial checkin for AIM92 aimR8.2 (last updated May 1997).
author tomwalters
date Fri, 20 May 2011 15:19:45 +0100
parents
children
rev   line source
tomwalters@0 1 ###########################################################################
tomwalters@0 2 #
tomwalters@0 3 # ROOT MAKEFILE FOR AIM M. Allerhand, (MRC-APU) 7/7/93
tomwalters@0 4 # C. Giguere, 24/3/94
tomwalters@0 5 # A. J. Datta, (MRC-APU)31/8/95
tomwalters@0 6 # R. Patterson (MRC-APU)09/4/97
tomwalters@0 7 #
tomwalters@0 8 ###########################################################################
tomwalters@0 9 ###########################################################################
tomwalters@0 10 #
tomwalters@0 11 # INTRODUCTION AND TABLE OF CONTENTS
tomwalters@0 12 #
tomwalters@0 13 # This is the Root makefile for the AIM software package which
tomwalters@0 14 # consists of the AIM program itself, signal processing tools,
tomwalters@0 15 # documentation, demonstrations and a Matlab interface. Part I
tomwalters@0 16 # describes the file system, Part II the makefile itself and
tomwalters@0 17 # Part III the make help option.
tomwalters@0 18 #
tomwalters@0 19 #
tomwalters@0 20 # PART I: THE AIM FILE SYSTEM
tomwalters@0 21 #
tomwalters@0 22 # The file system for AIM itself is organised into five directories,
tomwalters@0 23 # $(DIRS): filter, glib, model, stitch, and wdf. The root makefile
tomwalters@0 24 # calls a nested makefile in each of the five directories to build
tomwalters@0 25 # libraries, $(LIBS). These are then linked to form main programs,
tomwalters@0 26 # $(MAIN). The signal processing tools are divided into basetools (in
tomwalters@0 27 # directory tools) and auxtools (in directories xaim and saitools).
tomwalters@0 28 # There are two directories for documentation (man and docs), one for
tomwalters@0 29 # demonstrations scripts (scripts) and one for digitised sounds
tomwalters@0 30 # (waves).
tomwalters@0 31 #
tomwalters@0 32 # I.A. Directories and Directory Links
tomwalters@0 33 #
tomwalters@0 34 # I.B. AIM_FILES: For AIM Executables, Basetools and Auxtools.
tomwalters@0 35 # I.B.1. Makefiles
tomwalters@0 36 # I.B.2. AIM Sources: SRC_AIM
tomwalters@0 37 # I.B.3. Basic Tools: basetools
tomwalters@0 38 # I.B.4. Auxillary Tools: auxtools
tomwalters@0 39 # I.B.5. Libraries:
tomwalters@0 40 # I.B.6. Executables:
tomwalters@0 41 # I.B.7. Links to Executables:
tomwalters@0 42 #
tomwalters@0 43 # I.C. DOC_FILES: For Documentation, Man, Demonstrations and Matlab.
tomwalters@0 44 # I.C.1. Manual Entries: man/man1
tomwalters@0 45 # I.C.2. Demonstration Scripts: scripts
tomwalters@0 46 # I.C.3. Documentation docs
tomwalters@0 47 # I.C.4. Waves waves
tomwalters@0 48 # I.C.5. Matlab Interface matlab
tomwalters@0 49 #
tomwalters@0 50 #
tomwalters@0 51 # PART II: THE ROOT MAKEFILE ITSELF
tomwalters@0 52 #
tomwalters@0 53 # II.A. Arguements and Flags
tomwalters@0 54 #
tomwalters@0 55 # II.B. Targets
tomwalters@0 56 # II.B.1. General Targets
tomwalters@0 57 # II.B.2. Link and Build Libraries and Targets
tomwalters@0 58 # II.B.3. Create Directories and Pull Sources
tomwalters@0 59 # II.B.4. Create AIM Links (genXXX)
tomwalters@0 60 # II.B.5. Make tar files
tomwalters@0 61 # II.B.6. Maintenance Targets
tomwalters@0 62 #
tomwalters@0 63 # II.C. Machines
tomwalters@0 64 #
tomwalters@0 65 #
tomwalters@0 66 # PART III: MAKE HELP
tomwalters@0 67 #
tomwalters@0 68 # III.A. ARGS
tomwalters@0 69 # III.B. TARGETS
tomwalters@0 70 # III.C. MACHINES
tomwalters@0 71 #
tomwalters@0 72
tomwalters@0 73 ###########################################################################
tomwalters@0 74 ###########################################################################
tomwalters@0 75 #
tomwalters@0 76 # PART I: THE AIM FILE SYSTEM
tomwalters@0 77 #
tomwalters@0 78 # The signal processing tools are divided into basetools (in
tomwalters@0 79 # directory tools) and auxtools (in directories xaim and saitools).
tomwalters@0 80 # There are two directories for documentation (man and docs), one for
tomwalters@0 81 # demonstrations scripts (scripts) and one for digitised sounds
tomwalters@0 82 # (waves).
tomwalters@0 83 #
tomwalters@0 84 ###########################################################################
tomwalters@0 85 #
tomwalters@0 86 # I.A. Directories and SCCS Links
tomwalters@0 87 #
tomwalters@0 88
tomwalters@0 89 DIRS = model glib stitch filter \
tomwalters@0 90 wdf tools xaim bin \
tomwalters@0 91 waves man man/man1 scripts \
tomwalters@0 92 docs saitools matlab
tomwalters@0 93
tomwalters@0 94 SCCSLINKS = model/SCCS glib/SCCS stitch/SCCS filter/SCCS \
tomwalters@0 95 wdf/SCCS tools/SCCS xaim/SCCS \
tomwalters@0 96 man/SCCS scripts/SCCS docs/SCCS saitools/SCCS \
tomwalters@0 97 matlab/SCCS
tomwalters@0 98
tomwalters@0 99
tomwalters@0 100 ###########################################################################
tomwalters@0 101 #
tomwalters@0 102 # I.B. AIM_FILES: For AIM Executables, Basetools and Auxtools.
tomwalters@0 103 #
tomwalters@0 104 #
tomwalters@0 105 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 106 # I.B.1. Makefiles
tomwalters@0 107 #
tomwalters@0 108 # The root makefile calls a nested makefile in each of the five AIM
tomwalters@0 109 # directories to build libraries, $(LIBS). These are then linked to
tomwalters@0 110 # form main programs, $(MAIN).
tomwalters@0 111
tomwalters@0 112 MAKEFILES = model/makefile glib/makefile stitch/makefile filter/makefile \
tomwalters@0 113 wdf/makefile tools/makefile xaim/makefile saitools/makefile
tomwalters@0 114
tomwalters@0 115 #
tomwalters@0 116 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 117 # I.B.2. AIM Sources: SRC_AIM
tomwalters@0 118 #
tomwalters@0 119 # The file system for AIM itself is organised into five directories,
tomwalters@0 120 # $(DIRS): filter, glib, model, stitch, and wdf.
tomwalters@0 121
tomwalters@0 122 SRC_AIM = glib/null.c glib/ps.c glib/grey.c glib/options.c \
tomwalters@0 123 glib/windows.h glib/axes.h glib/grey.h glib/options.h \
tomwalters@0 124 glib/X.c \
tomwalters@0 125 model/model.c model/bank.c model/corti.c model/image.c \
tomwalters@0 126 model/model.h model/bank.h model/corti.h model/image.h \
tomwalters@0 127 model/units.c model/defaults.c model/integrate.c model/spiral.c \
tomwalters@0 128 model/units.h model/defaults.h model/integrate.h model/spiral.h \
tomwalters@0 129 model/calc.h model/atan.c model/interp.c model/faster.c \
tomwalters@0 130 model/new.c model/table.c model/gen.c model/review.c \
tomwalters@0 131 model/version.c \
tomwalters@0 132 filter/formulae.c filter/phase.c filter/gamma_tone.c \
tomwalters@0 133 filter/formulae.h filter/phase.h filter/gamma_tone.h \
tomwalters@0 134 filter/scales.c filter/all.c filter/generic.c filter/imb.c \
tomwalters@0 135 filter/scales.h filter/recurse.c filter/recurse.h \
tomwalters@0 136 wdf/upsample.c wdf/fir.c wdf/ear.c wdf/wdf_ear.c \
tomwalters@0 137 wdf/upsample.h wdf/fir.h wdf/ear.h wdf/wdf_ear.h \
tomwalters@0 138 wdf/formulae_tl.c wdf/scales_tl.c wdf/bank_tl.c wdf/wdf_tl.c \
tomwalters@0 139 wdf/formulae_tl.h wdf/scales_tl.h wdf/bank_tl.h wdf/wdf_tl.h \
tomwalters@0 140 wdf/meddis.c wdf/calc_tl.h wdf/meddis.h \
tomwalters@0 141 stitch/buffer.c stitch/io.c stitch/draw.c stitch/funcs.c \
tomwalters@0 142 stitch/buffer.h stitch/io.h stitch/draw.h stitch/funcs.h \
tomwalters@0 143 stitch/pullable.c stitch/stitch.c stitch/fill.c stitch/srcio.c \
tomwalters@0 144 stitch/pullable.h stitch/stitch.h stitch/fill.h stitch/srcio.h \
tomwalters@0 145 stitch/fillable.c stitch/source.c stitch/wrap.c stitch/stypes.c \
tomwalters@0 146 stitch/fillable.h stitch/source.h stitch/wrap.h stitch/stypes.h \
tomwalters@0 147 stitch/ops.c stitch/ops.h
tomwalters@0 148
tomwalters@0 149 #
tomwalters@0 150 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 151 # I.B.3. Basic Tools: basetools
tomwalters@0 152 #
tomwalters@0 153
tomwalters@0 154 SRC_TOOLS = tools/options.h tools/units.h tools/strmatch.h tools/header.h \
tomwalters@0 155 tools/sigproc.h tools/x11coord.h \
tomwalters@0 156 tools/acf.c tools/acgram.c tools/header.c tools/atob.c \
tomwalters@0 157 tools/audim.c tools/btoa.c tools/bufwave.c tools/bufframe.c \
tomwalters@0 158 tools/chi.c tools/conv.c tools/convert.c tools/cosine.c \
tomwalters@0 159 tools/edframe.c \
tomwalters@0 160 tools/edwave.c tools/fbank.c tools/fft.c tools/filt1.c \
tomwalters@0 161 tools/freqs.c tools/ftgram.c tools/ftoa.c tools/ftos.c \
tomwalters@0 162 tools/gate.c tools/gauss.c tools/hdr.c tools/integframe.c \
tomwalters@0 163 tools/loudness.c tools/merge.c tools/naptosai.c tools/noise.c \
tomwalters@0 164 tools/op.c tools/options.c tools/pitch_strength.c tools/ptrain.c \
tomwalters@0 165 tools/racf.c tools/ramp.c tools/saitonap.c tools/scale.c \
tomwalters@0 166 tools/sigproc.c tools/smooth.c tools/sp_weights.c tools/stats.c \
tomwalters@0 167 tools/step.c tools/stof.c tools/strmatch.c tools/swab.c \
tomwalters@0 168 tools/tone.c tools/units.c tools/x11coord.c tools/x11fonts.c \
tomwalters@0 169 tools/x11gram.c tools/x11play.c tools/x11plot.c
tomwalters@0 170
tomwalters@0 171 #
tomwalters@0 172 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 173 # I.B.4. Auxillary Tools: auxtools
tomwalters@0 174 #
tomwalters@0 175
tomwalters@0 176 SRC_XAIM = xaim/synthirn.c xaim/synthdramp.c xaim/buttons.c \
tomwalters@0 177 xaim/cartoon.c xaim/graphics.c xaim/initialise.c \
tomwalters@0 178 xaim/stipple_a xaim/switch_axes.c xaim/switch_buttons.c \
tomwalters@0 179 xaim/switch_control.c xaim/xreview.bitmap xaim/xreview.c \
tomwalters@0 180 xaim/xreview.h xaim/disclaimer.text xaim/releasenotes.text
tomwalters@0 181
tomwalters@0 182 SRC_SAITOOLS = saitools/changeheader.c saitools/findintervals_nap.c \
tomwalters@0 183 saitools/findpeaks.c saitools/header.c saitools/inout.c \
tomwalters@0 184 saitools/napgraph.c saitools/napheader.c saitools/removepeaks.c \
tomwalters@0 185 saitools/saicut.c saitools/saigraph.c saitools/saiinfo.c \
tomwalters@0 186 saitools/sairotate.c saitools/saisummary.c saitools/tip.h \
tomwalters@0 187 saitools/trigger.c saitools/findintervals_sai.c \
tomwalters@0 188 saitools/matrix.c
tomwalters@0 189
tomwalters@0 190 #
tomwalters@0 191 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 192 # I.B.5. Libraries:
tomwalters@0 193 #
tomwalters@0 194
tomwalters@0 195 MLIB = model/libmodel.a
tomwalters@0 196 GLIB = glib/libglib.a
tomwalters@0 197 SLIB = stitch/libstitch.a
tomwalters@0 198 FLIB = filter/libfilter.a
tomwalters@0 199 WLIB = wdf/libwdf.a
tomwalters@0 200 OLIB = glib/libopts.a
tomwalters@0 201 LIBS = $(MLIB) $(GLIB) $(SLIB) $(FLIB) $(WLIB) $(OLIB)
tomwalters@0 202
tomwalters@0 203 #
tomwalters@0 204 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 205 # I.B.6. Executables:
tomwalters@0 206 #
tomwalters@0 207
tomwalters@0 208 MAIN = model/gen model/review
tomwalters@0 209 XAIM = bin/synthirn bin/synthdramp bin/xreview
tomwalters@0 210 SAITOOLS = bin/saisummary bin/sairotate bin/saiinfo bin/saigraph \
tomwalters@0 211 bin/saicut bin/napgraph
tomwalters@0 212
tomwalters@0 213 WTOOLS = bin/hdr bin/atob bin/btoa bin/bufwave \
tomwalters@0 214 bin/bufframe \
tomwalters@0 215 bin/chi bin/convert bin/edframe bin/edwave \
tomwalters@0 216 bin/fbank bin/filt1 bin/ftoa bin/ftos \
tomwalters@0 217 bin/gate \
tomwalters@0 218 bin/integframe bin/loudness bin/merge bin/naptosai \
tomwalters@0 219 bin/noise bin/op bin/pitch_strength bin/ptrain \
tomwalters@0 220 bin/ramp bin/saitonap bin/scale bin/sp_weights \
tomwalters@0 221 bin/stats bin/step bin/stof bin/swab \
tomwalters@0 222 bin/tone
tomwalters@0 223
tomwalters@0 224 SPTOOLS = bin/acf bin/acgram bin/audim bin/conv \
tomwalters@0 225 bin/cosine bin/fft bin/ftgram bin/gauss \
tomwalters@0 226 bin/racf bin/smooth
tomwalters@0 227
tomwalters@0 228 XTOOLS = bin/x11fonts bin/x11gram bin/x11play bin/x11plot
tomwalters@0 229
tomwalters@0 230 TOOLS = $(WTOOLS) $(SPTOOLS) $(XTOOLS)
tomwalters@0 231
tomwalters@0 232
tomwalters@0 233 #
tomwalters@0 234 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 235 # I.B.7. Links to Executables:
tomwalters@0 236 #
tomwalters@0 237
tomwalters@0 238 LINK_GEN1 = bin/genwav bin/genstp \
tomwalters@0 239 bin/genbmm bin/gennap bin/gensgm \
tomwalters@0 240 bin/genasa bin/genepn bin/gensep bin/gensai \
tomwalters@0 241 bin/gencgm bin/genspl bin/gensas bin/gen
tomwalters@0 242
tomwalters@0 243 LINK_GEN2 = bin/gentst bin/genfcr bin/genfcp bin/genfbm \
tomwalters@0 244 bin/genfbc bin/genfbu bin/genfbs bin/genfbl \
tomwalters@0 245 bin/genfba bin/genfbh bin/genfbi bin/genfbd \
tomwalters@0 246 bin/genfeu bin/genfes bin/genfel bin/genfet \
tomwalters@0 247 bin/genfeh bin/genfei bin/genfed bin/gensie \
tomwalters@0 248 bin/genfbr bin/genfbt bin/genfec bin/genfea \
tomwalters@0 249 bin/gensse
tomwalters@0 250
tomwalters@0 251 LINK_SCRIPTS = bin/manaim bin/aimdemo_gtf_all bin/aimdemo_gtf_2dat \
tomwalters@0 252 bin/aimdemo_gtf_spectra bin/aimdemo_gtf_sai bin/aimdemo_tlf_all \
tomwalters@0 253 bin/aimdemo_tlf_lowhigh bin/aimdemo_tlf_med bin/aimdemo_tlf_std \
tomwalters@0 254 bin/aimdemo_tlf_spectra bin/aimdemo_hat bin/aimdemo_hat_br \
tomwalters@0 255 bin/scale_wav bin/equate_energies bin/StrobeCriterionDisplay \
tomwalters@0 256 bin/aimStrobeCriterion bin/dp_ms bin/dp_pc bin/aimR8demo
tomwalters@0 257
tomwalters@0 258 LINK_AIM1 = $(LINK_GEN1) $(LINK_SCRIPTS) bin/review
tomwalters@0 259 LINK_AIM2 = $(LINK_GEN1) $(LINK_GEN2) bin/review
tomwalters@0 260
tomwalters@0 261
tomwalters@0 262 #
tomwalters@0 263 #######################################################################
tomwalters@0 264 #
tomwalters@0 265 # I.C. DOC_FILES: For Documentation, Man, Demonstrations and Matlab.
tomwalters@0 266 #
tomwalters@0 267 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 268 # I.C.1. Manual Entries: man/man1
tomwalters@0 269 #
tomwalters@0 270
tomwalters@0 271 MANWHATIS = man/whatis
tomwalters@0 272 MANPAGES = man/man1/manaim.1 \
tomwalters@0 273 man/man1/genbmm.1 man/man1/gennap.1 man/man1/gensai.1 \
tomwalters@0 274 man/man1/genwav.1 man/man1/gensgm.1 man/man1/genepn.1 \
tomwalters@0 275 man/man1/genasa.1 man/man1/xreview.1 man/man1/genspl.1 \
tomwalters@0 276 man/man1/acf.1 man/man1/acgram.1 man/man1/atob.1 man/man1/gencgm.1 \
tomwalters@0 277 man/man1/audim.1 man/man1/btoa.1 man/man1/bufwave.1 \
tomwalters@0 278 man/man1/chi.1 man/man1/conv.1 man/man1/convert.1 \
tomwalters@0 279 man/man1/edframe.1 man/man1/bufframe.1 man/man1/cosine.1 \
tomwalters@0 280 man/man1/edwave.1 man/man1/fbank.1 man/man1/fft.1 man/man1/filt1.1 \
tomwalters@0 281 man/man1/ftgram.1 man/man1/ftoa.1 man/man1/ftos.1 man/man1/op.1 \
tomwalters@0 282 man/man1/gate.1 man/man1/gauss.1 man/man1/hdr.1 man/man1/racf.1 \
tomwalters@0 283 man/man1/integframe.1 man/man1/loudness.1 \
tomwalters@0 284 man/man1/merge.1 man/man1/naptosai.1 man/man1/noise.1 \
tomwalters@0 285 man/man1/options.1 man/man1/pitch_strength.1 man/man1/ptrain.1 \
tomwalters@0 286 man/man1/ramp.1 man/man1/saitonap.1 man/man1/scale.1 \
tomwalters@0 287 man/man1/smooth.1 man/man1/sp_weights.1 man/man1/stats.1 \
tomwalters@0 288 man/man1/step.1 man/man1/stof.1 man/man1/swab.1 \
tomwalters@0 289 man/man1/tone.1 man/man1/x11fonts.1 \
tomwalters@0 290 man/man1/x11gram.1 man/man1/x11play.1 man/man1/x11plot.1
tomwalters@0 291 MAN = $(MANPAGES) $(MANWHATIS)
tomwalters@0 292
tomwalters@0 293 #
tomwalters@0 294 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 295 # I.C.2. Demonstration Scripts: scripts
tomwalters@0 296
tomwalters@0 297 SCRIPTS = scripts/manaim scripts/unpack \
tomwalters@0 298 scripts/aimdemo_gtf_all scripts/aimdemo_gtf_2dat \
tomwalters@0 299 scripts/aimdemo_gtf_spectra scripts/aimdemo_gtf_sai \
tomwalters@0 300 scripts/aimdemo_tlf_all scripts/aimdemo_tlf_std \
tomwalters@0 301 scripts/aimdemo_tlf_lowhigh scripts/aimdemo_tlf_med \
tomwalters@0 302 scripts/aimdemo_tlf_spectra scripts/aimdemo_hat \
tomwalters@0 303 scripts/aimdemo_hat_br scripts/StrobeCriterionDisplay \
tomwalters@0 304 scripts/scale_wav scripts/equate_energies \
tomwalters@0 305 scripts/aimStrobeCriterion scripts/make-demo-waves \
tomwalters@0 306 scripts/dp_ms scripts/dp_pc scripts/aimR8demo
tomwalters@0 307
tomwalters@0 308 #
tomwalters@0 309 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 310 # I.C.3. Documentation files: docs
tomwalters@0 311
tomwalters@0 312 DOCS = docs/ReadMe.First docs/ReadMe docs/aimBibliography \
tomwalters@0 313 docs/aimDocList docs/aimDocumentation docs/aimFileFormats \
tomwalters@0 314 docs/aimInstructions docs/aimMailList docs/aimPaths \
tomwalters@0 315 docs/aimSilentOptions docs/ftp.doc docs/PAG95.doc \
tomwalters@0 316 docs/aimStrobeCriterion docs/makefile docs/aimDemonstrations \
tomwalters@0 317 docs/aimMeddisHewitt
tomwalters@0 318
tomwalters@0 319 #
tomwalters@0 320 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 321 # I.C.4. Demonstration Waves waves
tomwalters@0 322
tomwalters@0 323 WAVES = waves/leo waves/cegc waves/hat bin/hat \
tomwalters@0 324 waves/leo_br waves/cegc_br waves/hat_br bin/hat_br \
tomwalters@0 325 waves/dr_f8_t16_d waves/dr_f8_t4_d waves/dr_f8_t1_d \
tomwalters@0 326 waves/dr_f8_t16_r waves/dr_f8_t4_r waves/dr_f8_t1_r \
tomwalters@0 327 waves/irns_16_1_1 waves/irns_16_1_4 waves/irns_16_1_16
tomwalters@0 328
tomwalters@0 329 #
tomwalters@0 330 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 331 # I.C.5. Matlab Interface matlab
tomwalters@0 332
tomwalters@0 333 MATLAB = matlab/mktstr.m matlab/dB.m matlab/showSummarySAI.m matlab/amd_sumsai.m \
tomwalters@0 334 matlab/amd_sai.m matlab/amd_bmm_nap.m matlab/amd_waves.m matlab/envelope.m \
tomwalters@0 335 matlab/squaretone.m matlab/damp_env.m matlab/damp_sin.m matlab/taper.m matlab/showBMM.m \
tomwalters@0 336 matlab/ssave.m matlab/sload.m matlab/showNAP.m matlab/showSAI.m matlab/repeat_cycle.m \
tomwalters@0 337 matlab/redrawAIM.m matlab/set_input_wave_GUI.m matlab/setFrameChooser.m \
tomwalters@0 338 matlab/searchAimHeaderInfo.m matlab/save_genrc.m matlab/save_as_genrc.m matlab/sappend.m \
tomwalters@0 339 matlab/revert_genrc.m matlab/readAIMHeader.m matlab/showAverageSAI.m matlab/puretone.m \
tomwalters@0 340 matlab/hilitChan.m matlab/getAimHeaderInfo.m matlab/outputChanData.m matlab/erb.m \
tomwalters@0 341 matlab/getAimResInfo.m matlab/openOptionGUI.m matlab/get_erb_param.m matlab/illuminate.m \
tomwalters@0 342 matlab/popupShowFig.m matlab/openOptionGUI_page.m matlab/fchan_info.m \
tomwalters@0 343 matlab/exec_save_genrc.m matlab/XTickShowSAINAP.m matlab/add_sound.m \
tomwalters@0 344 matlab/FofErbScale.m matlab/ErbScale.m
tomwalters@0 345
tomwalters@0 346 #
tomwalters@0 347 # all files for archiving
tomwalters@0 348
tomwalters@0 349 FILES_IN_SCCS = $(MAKEFILES) $(SRC_AIM) $(SRC_TOOLS) $(SRC_XAIM) $(SRC_SAITOOLS)
tomwalters@0 350 FILES_NOT_IN_SCCS = makefile
tomwalters@0 351
tomwalters@0 352 AIM_FILES = $(FILES_IN_SCCS) $(FILES_NOT_IN_SCCS)
tomwalters@0 353 DOC_FILES = $(DOCS) $(MAN) $(SCRIPTS) $(MATLAB) $(WAVES)
tomwalters@0 354
tomwalters@0 355
tomwalters@0 356
tomwalters@0 357 ###########################################################################
tomwalters@0 358 ###########################################################################
tomwalters@0 359 #
tomwalters@0 360 # PART II: THE ROOT MAKEFILE ITSELF
tomwalters@0 361 #
tomwalters@0 362 #
tomwalters@0 363
tomwalters@0 364 ###########################################################################
tomwalters@0 365 #
tomwalters@0 366 # II.A. Arguments and Flags
tomwalters@0 367 #
tomwalters@0 368 # The form of c compiler is passed by the flag CC.
tomwalters@0 369 # Locations of X11 libraries and includes on various machines are
tomwalters@0 370 # passed via the CFLAGS and LDFLAGS.
tomwalters@0 371 #
tomwalters@0 372
tomwalters@0 373 CC = cc
tomwalters@0 374 CFLAGS = -O -DX11 -I/usr/openwin/include
tomwalters@0 375 LDFLAGS = -L/usr/openwin/lib -lXmu -lX11 -lm
tomwalters@0 376
tomwalters@0 377 TARFILE1 = aimR8.tar.Z
tomwalters@0 378 TARFILE2 = aimR8docs.tar.Z
tomwalters@0 379
tomwalters@0 380 # Defaults for APU system.
tomwalters@0 381 MOUNT = /net/sound1
tomwalters@0 382 MASTER = $(MOUNT)/aim/master
tomwalters@0 383 RELEASE = $(MASTER)/release
tomwalters@0 384 MAIL_SCRIPT = scripts/unpack
tomwalters@0 385
tomwalters@0 386
tomwalters@0 387 #################################################################################
tomwalters@0 388 #
tomwalters@0 389 # II.B. Targets
tomwalters@0 390 #
tomwalters@0 391 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 392 # II.B.1. General Targets.
tomwalters@0 393 #
tomwalters@0 394
tomwalters@0 395 MAKE = make CC=$(CC) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
tomwalters@0 396 LIBS="$(LIBS)" MAIN="$(MAIN)" LINK_AIM1="$(LINK_AIM1)" \
tomwalters@0 397 TARGET="$(TARGET)"
tomwalters@0 398
tomwalters@0 399 install :
tomwalters@0 400 $(MAKE) $(MAIN) $(LINK_AIM1) basetools
tomwalters@0 401
tomwalters@0 402 main : FORCE
tomwalters@0 403 @ $(MAKE) $(MAIN)
tomwalters@0 404
tomwalters@0 405 basetools : tools bin tools/makefile
tomwalters@0 406 @ $(MAKE) $(TOOLS)
tomwalters@0 407
tomwalters@0 408 # release operates from sccs so it won't work elsewhere.
tomwalters@0 409
tomwalters@0 410 release : install $(WAVES) $(MAN) $(SCRIPTS) $(LINK_SCRIPTS) $(DOCS) $(MATLAB)
tomwalters@0 411
tomwalters@0 412 auxtools : saitools bin saitools/makefile xaim xaim/makefile waves
tomwalters@0 413 @ $(MAKE) $(SAITOOLS) $(XAIM) NWAVES
tomwalters@0 414
tomwalters@0 415 sources : $(DIRS) $(MAKEFILES) $(SRC_AIM) $(SRC_TOOLS) $(WAVES) $(MAN) $(SCRIPTS) $(DOCS) $(MATLAB)
tomwalters@0 416
tomwalters@0 417 demo : $(WAVES)
tomwalters@0 418
tomwalters@0 419 links : $(LINK_AIM1)
tomwalters@0 420 alllinks : $(LINK_AIM2)
tomwalters@0 421
tomwalters@0 422 FORCE:
tomwalters@0 423
tomwalters@0 424
tomwalters@0 425 #
tomwalters@0 426 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 427 # II.B.2. Link and Build Libraries and Targets
tomwalters@0 428 #
tomwalters@0 429 # Link libraries into main programs.
tomwalters@0 430
tomwalters@0 431 INCLUDES = -Istitch -Iglib -Ifilter -Imodel -Iwdf
tomwalters@0 432
tomwalters@0 433 $(MAIN) : $(LIBS) $$@.c
tomwalters@0 434 $(CC) $(CFLAGS) $(INCLUDES) -o $@ $@.c $(LIBS) $(LDFLAGS)
tomwalters@0 435
tomwalters@0 436
tomwalters@0 437 #
tomwalters@0 438 # Build libraries.
tomwalters@0 439
tomwalters@0 440 $(LIBS) : $(DIRS) $(MAKEFILES) $(SRC_AIM) FORCE
tomwalters@0 441 @ cd $(@D) ; $(MAKE) $(@F)
tomwalters@0 442
tomwalters@0 443 #
tomwalters@0 444 # Build basetools.
tomwalters@0 445
tomwalters@0 446 W_UTILS = tools/strmatch.o tools/options.o tools/units.o tools/header.o
tomwalters@0 447 SP_UTILS = tools/sigproc.o
tomwalters@0 448 X_UTILS = tools/x11coord.o
tomwalters@0 449
tomwalters@0 450 $(WTOOLS) : $(SRC_TOOLS) tools/$$(@F).c
tomwalters@0 451 @ cd tools ; $(MAKE) $(@F)
tomwalters@0 452 $(CC) $(CFLAGS) -o $@ $(W_UTILS) tools/$(@F).o $(LDFLAGS)
tomwalters@0 453
tomwalters@0 454 $(SPTOOLS) : $(SRC_TOOLS)
tomwalters@0 455 @ cd tools ; $(MAKE) $(@F)
tomwalters@0 456 $(CC) $(CFLAGS) -o $@ $(W_UTILS) $(SP_UTILS) tools/$(@F).o $(LDFLAGS)
tomwalters@0 457
tomwalters@0 458 $(XTOOLS) :
tomwalters@0 459 @ cd tools ; $(MAKE) $(@F)
tomwalters@0 460 $(CC) $(CFLAGS) -o $@ $(X_UTILS) tools/$(@F).o $(LDFLAGS)
tomwalters@0 461
tomwalters@0 462
tomwalters@0 463 #
tomwalters@0 464 # Build auxillary tools.
tomwalters@0 465 #
tomwalters@0 466 # Build xaim.
tomwalters@0 467
tomwalters@0 468 $(XAIM) : $(SRC_XAIM)
tomwalters@0 469 @ cd xaim ; make $(@F) ; mv $(@F) ../bin
tomwalters@0 470
tomwalters@0 471
tomwalters@0 472 # Build saisummary.
tomwalters@0 473
tomwalters@0 474 $(SAITOOLS) : $(SRC_SAITOOLS)
tomwalters@0 475 @ cd saitools ; make $(@F) ; mv $(@F) ../bin
tomwalters@0 476
tomwalters@0 477
tomwalters@0 478 # Build waves
tomwalters@0 479
tomwalters@0 480 NWAVES :
tomwalters@0 481 @ cd scripts ; make-demo-waves ; mv irns* ../waves ; mv dr_f8_* ../waves
tomwalters@0 482
tomwalters@0 483
tomwalters@0 484 #
tomwalters@0 485 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 486 # II.B.3. Create Directories and Pull Sources
tomwalters@0 487 #
tomwalters@0 488 # Create directories
tomwalters@0 489
tomwalters@0 490 $(DIRS) :
tomwalters@0 491 @ mkdir $@
tomwalters@0 492
tomwalters@0 493 # Pull files from sccs: makefiles, sources, docs, etc..
tomwalters@0 494
tomwalters@0 495 $(MAKEFILES) $(SRC_AIM) $(SRC_TOOLS) $(SRC_XAIM) $(SRC_SAITOOLS) $(DOCS) $(MATLAB) $(MANWHATIS) :
tomwalters@0 496 @ echo "$@"
tomwalters@0 497 @ cd $(@D) ; sccs -p$(RELEASE)/$(@D) get -c$(DATE) $(@F); chmod u+rw $(@F)
tomwalters@0 498
tomwalters@0 499 # Scripts are a special case to be chmod'd.
tomwalters@0 500
tomwalters@0 501 $(SCRIPTS) :
tomwalters@0 502 @ echo "$@"
tomwalters@0 503 @ cd $(@D) ; sccs -p$(RELEASE)/scripts get -c$(DATE) $(@F) ; chmod 755 $(@F)
tomwalters@0 504
tomwalters@0 505 # Man pages are a special case needing a name change (for location in man1)
tomwalters@0 506
tomwalters@0 507 $(MANPAGES) :
tomwalters@0 508 @ cd $(@D) ; sccs -p$(RELEASE)/man get -p -c$(DATE) `echo $(@F) | sed -e 's/\.1/.amp/g'` > $(@F)
tomwalters@0 509
tomwalters@0 510 #
tomwalters@0 511 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 512 # II.B.4. Create AIM Links (genXXX)
tomwalters@0 513 #
tomwalters@0 514 # Create symbolic links to model entry points (eg. genXXX).
tomwalters@0 515
tomwalters@0 516 $(LINK_GEN1) $(LINK_GEN2) :
tomwalters@0 517 ln -s ../model/gen $@
tomwalters@0 518 bin/review :
tomwalters@0 519 ln -s ../model/review $@
tomwalters@0 520
tomwalters@0 521 $(LINK_SCRIPTS) :
tomwalters@0 522 ln -s ../scripts/$(@F) $@
tomwalters@0 523
tomwalters@0 524 #
tomwalters@0 525 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 526 # II.B.5. Make tar files for AIM_FILES and/or DOC_FILES
tomwalters@0 527 #
tomwalters@0 528
tomwalters@0 529 tar :
tomwalters@0 530 @ make $(TARFILE1)
tomwalters@0 531 $(TARFILE1) : $(AIM_FILES)
tomwalters@0 532 @ tar cvf - $(AIM_FILES) | compress > $(TARFILE1)
tomwalters@0 533
tomwalters@0 534 doc :
tomwalters@0 535 @ make $(TARFILE2)
tomwalters@0 536 $(TARFILE2) : $(DOC_FILES)
tomwalters@0 537 @ tar cvf - $(DOC_FILES) | compress > $(TARFILE2)
tomwalters@0 538
tomwalters@0 539 #
tomwalters@0 540 ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tomwalters@0 541 # II.B.6. Maintenance Targets
tomwalters@0 542 #
tomwalters@0 543
tomwalters@0 544 # Remove object files, libraries, main programs, and links, leaving the source code.
tomwalters@0 545
tomwalters@0 546 clean :
tomwalters@0 547 rm -f */*.o */*.a $(MAIN) $(TOOLS) bin/gen* bin/review
tomwalters@0 548
tomwalters@0 549
tomwalters@0 550 # Create symbolic links in each sub-directory to SCCS directories in $(RELEASE).
tomwalters@0 551
tomwalters@0 552 sccslinks : $(DIRS) $(SCCSLINKS)
tomwalters@0 553 $(SCCSLINKS):
tomwalters@0 554 @ cd $(@D) ; ln -s $(RELEASE)/$(@D) SCCS
tomwalters@0 555 cleansccs:
tomwalters@0 556 rm -f $(SCCSLINKS)
tomwalters@0 557
tomwalters@0 558
tomwalters@0 559 # Copy demonstration stimuli.
tomwalters@0 560
tomwalters@0 561 $(WAVES) :
tomwalters@0 562 @ cp $(RELEASE)/$@ $(@D)
tomwalters@0 563
tomwalters@0 564
tomwalters@0 565 # Mail model to given address.
tomwalters@0 566
tomwalters@0 567 mail : $(TARFILE1)
tomwalters@0 568 @ uuencode $(TARFILE1) $(TARFILE1) | split -700 - AIM.
tomwalters@0 569 @ echo ; echo "mail $(ADDRESS)"
tomwalters@0 570 @ cat $(MAIL_README) | mail -s "AIM software: ReadMe" $(ADDRESS) ; echo " $(MAIL_README)"
tomwalters@0 571 @ cat $(MAIL_SCRIPT) | mail -s "AIM software: UnPack" $(ADDRESS) ; echo " $(MAIL_SCRIPT)"
tomwalters@0 572 @ for i in AIM.* ; do \
tomwalters@0 573 echo "start----" > tmp ; cat $$i >> tmp ; echo "----end" >> tmp ; \
tomwalters@0 574 mail -s "AIM software: $$i" $(ADDRESS) < tmp ; echo " $$i" ; \
tomwalters@0 575 done
tomwalters@0 576 @ rm tmp AIM.*
tomwalters@0 577
tomwalters@0 578 #
tomwalters@0 579 ###########################################################################
tomwalters@0 580 #
tomwalters@0 581 # II.C. Machines
tomwalters@0 582 #
tomwalters@0 583 # These targets are machine-specific defaults that set CFLAGS and
tomwalters@0 584 # LDFLAGS appropriately for various machines. The default machine is
tomwalters@0 585 # sun (see CFLAGS and LDFLAGS at top of makefile). The include
tomwalters@0 586 # directory (-I in CFLAGS) must contain X11/X.h and X11/Xlib.h. The
tomwalters@0 587 # lib directory (-L in LDFLAGS) must contain libX11.a.
tomwalters@0 588 #
tomwalters@0 589 # Eg:
tomwalters@0 590 # make sun makes the default target `install' with flags for sun.
tomwalters@0 591 # make TARGET=install sgi makes the target 'install' for an SGI machine.
tomwalters@0 592
tomwalters@0 593 TARGET = install
tomwalters@0 594
tomwalters@0 595 sun :
tomwalters@0 596 @ make CC=cc CFLAGS="-O -DX11 -I/usr/openwin/include" LDFLAGS="-L/usr/openwin/lib -lX11 $(STUB) -lm" RANLIB=ranlib $(TARGET)
tomwalters@0 597
tomwalters@0 598 sungcc :
tomwalters@0 599 @ make CC=gcc CFLAGS="-O2 -fwritable-strings -DX11 -I/usr/openwin/include" LDFLAGS="-L/usr/openwin/lib -lXmu -lX11 $(STUB) -lm" RANLIB=ranlib $(TARGET)
tomwalters@0 600
tomwalters@0 601 sgi :
tomwalters@0 602 @ make CC=cc CFLAGS="-O -DX11 -I/usr/include" LDFLAGS="-L/usr/lib -lX11 $(STUB) -lm" RANLIB=echo $(TARGET)
tomwalters@0 603
tomwalters@0 604 dec vax :
tomwalters@0 605 @ make CC=cc CFLAGS="-O -DX11 -I/usr/include" LDFLAGS="-L/usr/lib -lX11 $(STUB) -lm" RANLIB=ranlib $(TARGET)
tomwalters@0 606
tomwalters@0 607 hp :
tomwalters@0 608 @ make CC=cc CFLAGS="-O -DX11 -I/usr/include/X11R4" LDFLAGS="-L/usr/lib/X11R4 -lX11 $(STUB) -lm" RANLIB=ranlib $(TARGET)
tomwalters@0 609
tomwalters@0 610 linux :
tomwalters@0 611 @ make CC=gcc CFLAGS="-O -fwritable-strings -ansi -DLINUX -DX11 -I/usr/include" LDFLAGS="-L/usr/lib -lXmu -lX11 $(STUB) -lm" RANLIB=ranlib $(TARGET)
tomwalters@0 612
tomwalters@0 613
tomwalters@0 614 apucc :
tomwalters@0 615 @ make CC=cc CFLAGS="-O -DX11 -I/usr/local2/include" LDFLAGS="-L/usr/local2/lib -lX11 $(STUB) -lm" RANLIB=ranlib $(TARGET)
tomwalters@0 616
tomwalters@0 617 apugcc :
tomwalters@0 618 @ make CC=gcc CFLAGS="-O2 -fwritable-strings -DX11 -I/usr/local2/include" LDFLAGS="-L/usr/local2/lib -lXmu -lX11 $(STUB) -lm" RANLIB=ranlib $(TARGET)
tomwalters@0 619
tomwalters@0 620 make :
tomwalters@0 621 @ apugdb CC=gcc CFLAGS="-fwritable-strings -g -DX11 -I/usr/local2/include" LDFLAGS="-L/usr/local2/lib -lXmu -lX11 $(STUB) -lm -lg" RANLIB=ranlib $(TARGET)
tomwalters@0 622
tomwalters@0 623
tomwalters@0 624 # AIM without X11 displays.
tomwalters@0 625 # A noplot version for compilation on a machine without X11 windows.
tomwalters@0 626 # The defaults: CC=cc CFLAGS=-O LDFLAGS=-lm exclude Xlibs and -DX11,
tomwalters@0 627 # i.e. X11 is undefined so that ifdef's in gen.c omit the X11 code.
tomwalters@0 628 # The LIBS list excludes libglib.a, the MAIN list excludes model/review,
tomwalters@0 629 # the LINKS list excludes the link /bin/review, and the TOOLS list excludes
tomwalters@0 630 # the XTOOLS.
tomwalters@0 631 # Eg:
tomwalters@0 632 # make noplot gets default target `install'.
tomwalters@0 633 # make TARGET=basetools noplot gets target `basetools'.
tomwalters@0 634
tomwalters@0 635 noplot :
tomwalters@0 636 @ make CC=cc CFLAGS=-O LDFLAGS=-lm LIBS="$(MLIB) $(SLIB) $(FLIB) $(WLIB) $(OLIB)" MAIN=model/gen LINK_AIM1="$(LINK_GEN1)" TOOLS="$(WTOOLS) $(SPTOOLS)" $(TARGET)
tomwalters@0 637
tomwalters@0 638
tomwalters@0 639 ###########################################################################
tomwalters@0 640 ###########################################################################
tomwalters@0 641 #
tomwalters@0 642 # PART III: MAKE HELP
tomwalters@0 643 #
tomwalters@0 644 # Help target
tomwalters@0 645
tomwalters@0 646 help : FORCE
tomwalters@0 647 @ echo "Root makefile for AIM."
tomwalters@0 648 @ echo "Usage: 1. make [Args] [Targets] "
tomwalters@0 649 @ echo " 2. make [Args] [TARGET=Targets] [Machine] "
tomwalters@0 650 @ echo " 3. make [Args] [TARGET=Targets] noplot"
tomwalters@0 651 @ echo
tomwalters@0 652 @ echo "ARGS: Current value:"
tomwalters@0 653 @ echo "CC $(CC) C compiler."
tomwalters@0 654 @ echo "CFLAGS $(CFLAGS) Compiler flags."
tomwalters@0 655 @ echo "LDFLAGS $(LDFLAGS) Loader flags."
tomwalters@0 656 @ echo "STUB $(STUB) Additional libs to resolve names."
tomwalters@0 657 @ echo "MOUNT $(MOUNT) Mount for AIM sccs."
tomwalters@0 658 @ echo "RELEASE $(RELEASE) Source dir for AIM sources in sccs."
tomwalters@0 659 @ echo "DATE $(DATE) Sccs get by date [year/month/day]."
tomwalters@0 660 @ echo "TARFILE $(TARFILE1) $(TARFILE2) Filenames for tar files."
tomwalters@0 661 @ echo "ADDRESS $(ADDRESS) Address(es) for email."
tomwalters@0 662 @ echo "TARGET $(TARGET)
tomwalters@0 663 @ echo
tomwalters@0 664 @ echo "TARGETS: GENERAL (Default target is \`install'). "
tomwalters@0 665 @ echo "main Make main AIM executable, gen."
tomwalters@0 666 @ echo "install Make 'main' plus common links and basetools."
tomwalters@0 667 @ echo "basetools Make the basetool executables and put them in bin."
tomwalters@0 668 @ echo "auxtools Make the auxillary tools executables and put them in bin."
tomwalters@0 669 @ echo "links Install the most useful model links."
tomwalters@0 670 @ echo "alllinks Install all model links."
tomwalters@0 671 @ echo "tar Create compressed tar file of AIM file system."
tomwalters@0 672 @ echo "doc Create compressed tar file of AIM documentation. "
tomwalters@0 673 @ echo "noplot Install in X11-free environment: no graphics."
tomwalters@0 674 @ echo
tomwalters@0 675 @ echo "TARGETS: APU (For system maintenance at APU)"
tomwalters@0 676 @ echo "release Make 'install' with docs and demos from scratch (sccs)."
tomwalters@0 677 @ echo "sources Get sources from local sccs."
tomwalters@0 678 @ echo "clean Remove all objects, libraries, main programs, and links."
tomwalters@0 679 @ echo "sccslinks Create SCCS symbolic links to local sccs directories."
tomwalters@0 680 @ echo "cleansccs Remove SCCS symbolic links."
tomwalters@0 681 @ echo "demo Install demo stimuli files."
tomwalters@0 682 # @ echo "mail Email AIM file system to given address(es)."
tomwalters@0 683 @ echo
tomwalters@0 684 @ echo "MACHINE (Default machine is \`sun'). "
tomwalters@0 685 @ echo "sun SparcStation with cc and X11 in -I/usr/openwin/include"
tomwalters@0 686 @ echo "sungcc SparcStation with optimised gcc and X11 in -I/usr/openwin/include"
tomwalters@0 687 @ echo "sgi sgi Indy with cc and X11 in -I/usr/include/"
tomwalters@0 688 @ echo "hp hp with cc and X11 in -I/usr/include/X11R4"
tomwalters@0 689 @ echo "dec vax Dec/Vax Station with cc and X11 in -I/usr/include/"
tomwalters@0 690 @ echo "apucc SparcStation at APU with cc and X11 in -I/usr/local2/include/"
tomwalters@0 691 @ echo "apugcc SparcStation at APU with optimised gcc and X11 in -I/usr/local2/include/"
tomwalters@0 692 @ echo "linux PC with gcc and X11 in -I/usr/include/"
tomwalters@0 693 @ echo
tomwalters@0 694 ###########################################################################
tomwalters@0 695