| 1 | # |
|---|
| 2 | # Makefile for the RAT project. This requires GNU make on many systems. |
|---|
| 3 | # |
|---|
| 4 | |
|---|
| 5 | CFLAGS = @WFLAGS@ @DEBUG@ @CHAR@ @PROFILE@ @OPTIMIZE@ @CHECK_FLAG@ @DEFS@ -D@OSTYPE@ -DSASR -DFAST -DUSE_FLOAT_MUL |
|---|
| 6 | INCLUDE = @INCLUDE@ |
|---|
| 7 | CC = @CC@ |
|---|
| 8 | AR = @AR@ |
|---|
| 9 | RANLIB = @RANLIB@ |
|---|
| 10 | RATVER = rat-@VERSION@ |
|---|
| 11 | |
|---|
| 12 | AUDIO_OBJS = @AUDIO@ auddev.o auddev_null.o audio_fmt.o audio_util.o auddev_trans.o |
|---|
| 13 | CODEC_OBJS = codec.o codec_state.o codec_dvi.o codec_gsm.o \ |
|---|
| 14 | codec_l16.o codec_g711.o codec_g726.o codec_lpc.o \ |
|---|
| 15 | codec_types.o codec_vdvi.o codec_wbs.o cx_dvi.o \ |
|---|
| 16 | cx_g726.o cx_g726_16.o cx_g726_24.o cx_g726_32.o cx_g726_40.o \ |
|---|
| 17 | cx_gsm.o cx_lpc.o cx_vdvi.o cx_wbs.o \ |
|---|
| 18 | converter.o convert_util.o convert_extra.o convert_linear.o \ |
|---|
| 19 | convert_sinc.o bitstream.o |
|---|
| 20 | |
|---|
| 21 | SNDFILE_OBJS = sndfile.o sndfile_au.o sndfile_raw.o sndfile_wav.o |
|---|
| 22 | MEDIALIBS = libuclaudio.a libuclcodec.a libuclsndfile.a |
|---|
| 23 | |
|---|
| 24 | CHANNEL_OBJS = channel.o channel_types.o cc_vanilla.o cc_rdncy.o cc_layered.o |
|---|
| 25 | TOY_OBJS = render_3D.o repair.o |
|---|
| 26 | CORE_OBJS = ts.o playout.o net.o source.o session.o \ |
|---|
| 27 | mbus_engine.o audio.o cushion.o mix.o \ |
|---|
| 28 | parameters.o timers.o transmit.o playout_calc.o \ |
|---|
| 29 | transcoder.o ui.o rtp_callback.o usleep.o settings.o \ |
|---|
| 30 | pdb.o pktbuf.o |
|---|
| 31 | |
|---|
| 32 | UI_OBJS = tcltk.o mbus_ui.o main_ui.o |
|---|
| 33 | CTRL_OBJS = main_control.o mbus_control.o |
|---|
| 34 | TCL_OBJS = ui_audiotool.o ui_transcoder.o |
|---|
| 35 | TCL_SRCS = $(TCL_OBJS:%.o=%.c) |
|---|
| 36 | |
|---|
| 37 | ALL_OBJS = $(AUDIO_OBJS) $(CODEC_OBJS) $(SNDFILE_OBJS) $(CHANNEL_OBJS) $(TOY_OBJS)\ |
|---|
| 38 | $(CORE_OBJS) $(UI_OBJS) $(CTRL_OBJS) |
|---|
| 39 | ALL_SRCS = $(ALL_OBJS:%.o=%.c) |
|---|
| 40 | |
|---|
| 41 | all: version.h sdr2.plugin.s02.audio.rtp.-.rat-@VERSION@ rat-@VERSION@.spec $(RATVER) $(RATVER)-ui $(RATVER)-media |
|---|
| 42 | |
|---|
| 43 | libuclaudio.a: $(AUDIO_OBJS) |
|---|
| 44 | $(AR) r $@ $(AUDIO_OBJS) |
|---|
| 45 | $(RANLIB) $@ |
|---|
| 46 | |
|---|
| 47 | libuclcodec.a: $(CODEC_OBJS) |
|---|
| 48 | $(AR) r $@ $(CODEC_OBJS) |
|---|
| 49 | $(RANLIB) $@ |
|---|
| 50 | |
|---|
| 51 | libuclsndfile.a: $(SNDFILE_OBJS) |
|---|
| 52 | $(AR) r $@ $(SNDFILE_OBJS) |
|---|
| 53 | $(RANLIB) $@ |
|---|
| 54 | |
|---|
| 55 | $(RATVER)-media: $(CHANNEL_OBJS) $(TOY_OBJS) $(CORE_OBJS) $(MEDIALIBS) main_engine.o ../common/libcommon.a |
|---|
| 56 | $(CC) $(CFLAGS) $(CHANNEL_OBJS) $(TOY_OBJS) $(CORE_OBJS) $(MEDIALIBS) main_engine.o ../common/libcommon.a @LDLIBS@ @CHECK_LIB@ -o $(RATVER)-media |
|---|
| 57 | |
|---|
| 58 | $(RATVER)-ui: $(TCL_OBJS) $(UI_OBJS) ../common/libcommon.a |
|---|
| 59 | $(CC) $(CFLAGS) $(TCL_OBJS) $(UI_OBJS) ../common/libcommon.a @LDLIBS@ @CHECK_LIB@ -o $(RATVER)-ui |
|---|
| 60 | |
|---|
| 61 | $(RATVER): $(CTRL_OBJS) ../common/libcommon.a |
|---|
| 62 | $(CC) $(CFLAGS) $(CTRL_OBJS) ../common/libcommon.a @LDLIBS@ @CHECK_LIB@ -o $(RATVER) |
|---|
| 63 | |
|---|
| 64 | .c.o: |
|---|
| 65 | $(CC) $(INCLUDE) $(CFLAGS) -c $< |
|---|
| 66 | |
|---|
| 67 | $(TCL_OBJS): $(TCL_SRCS) |
|---|
| 68 | |
|---|
| 69 | ui_transcoder.c: ui_transcoder.tcl tcl2c/tcl2c |
|---|
| 70 | cat ui_transcoder.tcl | tcl2c/tcl2c ui_transcoder > ui_transcoder.c |
|---|
| 71 | |
|---|
| 72 | ui_audiotool.c: ui_audiotool.tcl tcl2c/tcl2c |
|---|
| 73 | cat asfilebox.tcl ui_audiotool.tcl | tcl2c/tcl2c ui_audiotool > ui_audiotool.c |
|---|
| 74 | |
|---|
| 75 | tcl2c/tcl2c: tcl2c/tcl2c.c |
|---|
| 76 | $(CC) -o tcl2c/tcl2c tcl2c/tcl2c.c |
|---|
| 77 | |
|---|
| 78 | version.h: VERSION |
|---|
| 79 | sed -e 's/.*/#define RAT_VERSION "v& @OSTYPE@"/' VERSION > version.h |
|---|
| 80 | sed -e 's/.*/#define VERSION_NUM "v&"/' VERSION >> version.h |
|---|
| 81 | |
|---|
| 82 | sdr2.plugin.s02.audio.rtp.-.rat-@VERSION@: sdr2.plugin.in |
|---|
| 83 | ${ECHO} "# Generated automatically from sdr2.plugin.in" > $@ |
|---|
| 84 | ${ECHO} "# DO NOT EDIT THIS FILE" >> $@ |
|---|
| 85 | sed -e 's/VERSION/@VERSION@/g' sdr2.plugin.in >> $@ |
|---|
| 86 | |
|---|
| 87 | rat-@VERSION@.spec: rat.spec |
|---|
| 88 | ${ECHO} "Generating RPM spec file" |
|---|
| 89 | ${ECHO} "# Generated automatically from rat.spec" > $@ |
|---|
| 90 | ${ECHO} "# DO NOT EDIT THIS FILE" >> $@ |
|---|
| 91 | cat rat.spec | sed s/VERSION/@VERSION@/g >> $@ |
|---|
| 92 | |
|---|
| 93 | clean: |
|---|
| 94 | -rm -f $(CTRL_OBJS) $(AUDIO_OBJS) $(CODEC_OBJS) $(SNDFILE_OBJS) $(CHANNEL_OBJS) $(TOY_OBJS) $(CORE_OBJS) $(UI_OBJS) $(TCL_OBJS) main_engine.o |
|---|
| 95 | -rm -f $(MEDIALIBS) |
|---|
| 96 | -rm -f tcl_libs.c ui_audiotool.c ui_transcoder.c version.h Makefile Makefile.sed |
|---|
| 97 | -rm -f tcl2c/tcl2c sdr2.plugin.S02.audio.rtp.-.$(RATVER) $(RATVER).spec |
|---|
| 98 | -rm -f $(RATVER)-media $(RATVER)-ui $(RATVER) |
|---|
| 99 | |
|---|
| 100 | etags: |
|---|
| 101 | etags ../common/*.[ch] *.[ch] |
|---|
| 102 | |
|---|
| 103 | ctags: |
|---|
| 104 | ctags ../common/*.[ch] *.[ch] |
|---|
| 105 | |
|---|
| 106 | release: |
|---|
| 107 | cvs tag release-`cat VERSION | sed "s/\./-/g"` |
|---|
| 108 | |
|---|
| 109 | tgz: $(RATVER) |
|---|
| 110 | tar cvf $(RATVER)-@OSTYPE@.tar README.* MODS COPYRIGHT INSTALL.TXT VERSION $(RATVER) $(RATVER)-ui $(RATVER)-media |
|---|
| 111 | gzip -9v $(RATVER)-@OSTYPE@.tar |
|---|
| 112 | |
|---|
| 113 | depend: |
|---|
| 114 | makedepend $(INCLUDE) $(ALL_SRCS) |
|---|
| 115 | # DO NOT DELETE THIS LINE |
|---|