gps/GPSResources/tcpmpVerOld/Makefile

372 lines
14 KiB
Makefile
Executable File

APP=tcpmp
CC_M68K = m68k-palmos-gcc
CC_ARM = arm-palmos-gcc
CC_HOST = gcc
CPP_HOST = g++
OUTDIR_M68K=obj.m68k/
OUTDIR_ARM=obj.arm/
PEAL = $(OUTDIR_ARM)peal-postlink
PEALDIR = common/palmos/peal/
PEALFLAGS = -s 1000
#PEALFLAGS += -v
PEALSRC = $(PEALDIR)postlink/image.cc $(PEALDIR)postlink/postlinker.cc $(PEALDIR)postlink/relocation.cc $(PEALDIR)postlink/section.cc
PEALSRC += $(PEALDIR)postlink/symbol.cc $(PEALDIR)postlink/symboltable.cc $(PEALDIR)postlink/complain.cc
CFLAGS_M68K = -pipe -Wall -O3 -mnoshort
CFLAGS_ARM = -pipe -Wall -Wno-multichar -march=armv4 -fshort-enums -O3 -mno-apcs-frame -mtune=xscale -fomit-frame-pointer -fsigned-char
CFLAGS_ARM += -fPIC -msingle-pic-base
CFLAGS_ARM += -D ARM -D NDEBUG -DSTDC_HEADERS -DNO_PLUGINS
CFLAGS_ARM += -DFASTEST -DNO_ERRNO_H
CFLAGS_ARM += -DFIXED_POINT
CFLAGS_ARM += -DFPM_ARM -DOPT_SPEED -DASO_INTERLEAVE1
CFLAGS_ARM += -D BIG_ENDIAN=0 -D BYTE_ORDER=1 -D LITTLE_ENDIAN=1 -D _LOW_ACCURACY_
CFLAGS_ARM += -DLC_ONLY_DECODER
CFLAGS_ARM += -DLIBA52_FIXED
CFLAGS_ARM += -DMPC_FIXED_POINT -DMPC_LITTLE_ENDIAN -Impc/libmusepack/include -Icross-compile/libc-palmos
CFLAGS_ARM += -D CONFIG_H264_DECODER -D TCPMP -Iffmpeg/libavutil
#*************
# palmOne SDK
#*************
CFLAGS_ARM += -I../SDK/palmOne-SDK -DHAVE_PALMONE_SDK
#*************
# Sony SDK
#*************
CFLAGS_ARM += -I../SDK/Sony-SDK/Incs -I../SDK/Sony-SDK/Incs/System -DHAVE_SONY_SDK
SFLAGS_ARM = -march=armv4
LDFLAGS_ARM = -Wl,--split-by-file=63000 -Wl,--emit-relocs -nostartfiles
LDFLAGS_M68K = -L/usr/local/share/palmdev/sdk/lib/m68k-palmos-coff -lPalmOSGlue -lc -lgcc
LANG_TXT = lang/lang_en.txt lang/lang_std.txt
SRCFILES_M68K = common/palmos/pilotmain_m68k.c
SRCFILES_M68K += $(PEALDIR)m68k/peal.c
SRCFILES_ARM = $(PEALDIR)arm/pealstub.c
SRCFILES_ARM += common/advanced.c
SRCFILES_ARM += common/audio.c
SRCFILES_ARM += common/bitstrm.c
SRCFILES_ARM += common/buffer.c
SRCFILES_ARM += common/codec.c
SRCFILES_ARM += common/color.c
SRCFILES_ARM += common/context.c
SRCFILES_ARM += common/equalizer.c
SRCFILES_ARM += common/flow.c
SRCFILES_ARM += common/format.c
SRCFILES_ARM += common/format_base.c
SRCFILES_ARM += common/format_subtitle.c
SRCFILES_ARM += common/id3tag.c
SRCFILES_ARM += common/idct.c
SRCFILES_ARM += common/node.c
SRCFILES_ARM += common/nulloutput.c
SRCFILES_ARM += common/overlay.c
SRCFILES_ARM += common/parser2.c
SRCFILES_ARM += common/platform.c
SRCFILES_ARM += common/player.c
SRCFILES_ARM += common/playlist.c
SRCFILES_ARM += common/probe.c
SRCFILES_ARM += common/rawaudio.c
SRCFILES_ARM += common/rawimage.c
SRCFILES_ARM += common/str.c
SRCFILES_ARM += common/streams.c
SRCFILES_ARM += common/tchar.c
SRCFILES_ARM += common/timer.c
SRCFILES_ARM += common/tools.c
SRCFILES_ARM += common/helper_base.c
SRCFILES_ARM += common/helper_video.c
SRCFILES_ARM += common/video.c
SRCFILES_ARM += common/vlc.c
SRCFILES_ARM += common/waveout.c
SRCFILES_ARM += common/cpu/arm.s
SRCFILES_ARM += common/cpu/cpu.c
SRCFILES_ARM += common/playlist/m3u.c
SRCFILES_ARM += common/playlist/pls.c
SRCFILES_ARM += common/playlist/asx.c
SRCFILES_ARM += common/dyncode/dyncode.c
SRCFILES_ARM += common/dyncode/dyncode_arm.c
SRCFILES_ARM += common/palmos/association_palmos.c
SRCFILES_ARM += common/palmos/context_palmos.c
SRCFILES_ARM += common/palmos/node_palmos.c
SRCFILES_ARM += common/palmos/platform_palmos.c
SRCFILES_ARM += common/palmos/str_palmos.c
SRCFILES_ARM += common/palmos/mem_palmos.c
SRCFILES_ARM += common/palmos/dia.c
SRCFILES_ARM += common/palmos/pace.c
SRCFILES_ARM += common/palmos/native.s
SRCFILES_ARM += common/palmos/waveout_palmos.c
SRCFILES_ARM += common/palmos/file_palmos.c
SRCFILES_ARM += common/palmos/filedb_palmos.c
SRCFILES_ARM += common/palmos/vfs_palmos.c
SRCFILES_ARM += common/libc/rand.c
SRCFILES_ARM += common/libc/vsprintf.c
SRCFILES_ARM += common/libc/qsort.c
SRCFILES_ARM += common/libc/sincos.c
SRCFILES_ARM += common/overlay/overlay_hires.c
SRCFILES_ARM += common/pcm/pcm_arm.c
SRCFILES_ARM += common/pcm/pcm_soft.c
SRCFILES_ARM += common/blit/blit_arm_fix.c
SRCFILES_ARM += common/blit/blit_arm_rgb16.c
SRCFILES_ARM += common/blit/blit_arm_yuv.c
SRCFILES_ARM += common/blit/blit_arm_packed_yuv.c
SRCFILES_ARM += common/blit/blit_arm_gray.c
SRCFILES_ARM += common/blit/blit_arm_half.c
SRCFILES_ARM += common/blit/blit_arm_stretch.c
SRCFILES_ARM += common/blit/blit_soft.c
SRCFILES_ARM += common/blit/blit_wmmx_fix.c
SRCFILES_ARM += common/softidct/block_c.c
SRCFILES_ARM += common/softidct/block_half.c
SRCFILES_ARM += common/softidct/idct_c.c
SRCFILES_ARM += common/softidct/idct_half.c
SRCFILES_ARM += common/softidct/idct_arm.s
SRCFILES_ARM += common/softidct/block_mx1.c
SRCFILES_ARM += common/softidct/mcomp4x4_c.c
SRCFILES_ARM += common/softidct/mcomp_c.c
SRCFILES_ARM += common/softidct/mcomp_arm.s
SRCFILES_ARM += common/softidct/softidct.c
SRCFILES_ARM += common/zlib/adler32.c
SRCFILES_ARM += common/zlib/crc32.c
SRCFILES_ARM += common/zlib/inffast.c
SRCFILES_ARM += common/zlib/inflate.c
SRCFILES_ARM += common/zlib/inftrees.c
SRCFILES_ARM += common/zlib/uncompr.c
SRCFILES_ARM += common/zlib/zutil.c
SRCFILES_ARM += splitter/avi.c
SRCFILES_ARM += splitter/asf.c
SRCFILES_ARM += splitter/wav.c
SRCFILES_ARM += splitter/mov.c
SRCFILES_ARM += splitter/mpg.c
SRCFILES_ARM += splitter/nsv.c
#SRCFILES_ARM += interface/about.c
#SRCFILES_ARM += interface/benchresult.c
#SRCFILES_ARM += interface/mediainfo.c
#SRCFILES_ARM += interface/settings.c
#SRCFILES_ARM += interface/palmos/win_palmos.c
SRCFILES_ARM += interface/palmos/keys.c
SRCFILES_ARM += interface/skin.c
SRCFILES_ARM += matroska/matroska.c
SRCFILES_ARM += matroska/MatroskaParser/MatroskaParser.c
SRCFILES_ARM += mpeg1/mpeg_decode.c
SRCFILES_ARM += mpeg1/mves.c
SRCFILES_ARM += camera/mjpeg.c
SRCFILES_ARM += camera/tiff.c
SRCFILES_ARM += camera/png.c
SRCFILES_ARM += camera/adpcm.c
SRCFILES_ARM += camera/law.c
SRCFILES_ARM += camera/g726/g726_16.c
SRCFILES_ARM += camera/g726/g726_24.c
SRCFILES_ARM += camera/g726/g726_32.c
SRCFILES_ARM += camera/g726/g726_40.c
SRCFILES_ARM += camera/g726/g72x.c
SRCFILES_ARM += libmad/libmad.c
SRCFILES_ARM += libmad/libmad/bit.c
SRCFILES_ARM += libmad/libmad/fixed.c
SRCFILES_ARM += libmad/libmad/frame.c
SRCFILES_ARM += libmad/libmad/huffmanmad.c
SRCFILES_ARM += libmad/libmad/layer12.c
SRCFILES_ARM += libmad/libmad/layer3.c
SRCFILES_ARM += libmad/libmad/stream.c
SRCFILES_ARM += libmad/libmad/synth.c
SRCFILES_ARM += vorbislq/ogg.c
SRCFILES_ARM += vorbislq/oggembedded.c
SRCFILES_ARM += vorbislq/oggpacket.c
SRCFILES_ARM += vorbislq/vorbis.c
SRCFILES_ARM += vorbislq/tremor/bitwise.c
SRCFILES_ARM += vorbislq/tremor/block.c
SRCFILES_ARM += vorbislq/tremor/codebook.c
SRCFILES_ARM += vorbislq/tremor/floor0.c
SRCFILES_ARM += vorbislq/tremor/floor1.c
SRCFILES_ARM += vorbislq/tremor/framing.c
SRCFILES_ARM += vorbislq/tremor/info.c
SRCFILES_ARM += vorbislq/tremor/mapping0.c
SRCFILES_ARM += vorbislq/tremor/mdctvorbis.c
SRCFILES_ARM += vorbislq/tremor/registry.c
SRCFILES_ARM += vorbislq/tremor/res012.c
SRCFILES_ARM += vorbislq/tremor/sharedbook.c
SRCFILES_ARM += vorbislq/tremor/synthesis.c
SRCFILES_ARM += vorbislq/tremor/window.c
SRCFILES_ARM += ffmpeg/ffmpeg.c
SRCFILES_ARM += ffmpeg/libavcodec/bitstream.c
SRCFILES_ARM += ffmpeg/libavcodec/cabac.c
SRCFILES_ARM += ffmpeg/libavcodec/cinepak.c
SRCFILES_ARM += ffmpeg/libavcodec/dsputil.c
SRCFILES_ARM += ffmpeg/libavcodec/error_resilience.c
SRCFILES_ARM += ffmpeg/libavcodec/golomb.c
SRCFILES_ARM += ffmpeg/libavcodec/h263.c
SRCFILES_ARM += ffmpeg/libavcodec/h263dec.c
SRCFILES_ARM += ffmpeg/libavcodec/h264.c
SRCFILES_ARM += ffmpeg/libavcodec/h264idct.c
SRCFILES_ARM += ffmpeg/libavcodec/jrevdct.c
SRCFILES_ARM += ffmpeg/libavcodec/mem.c
SRCFILES_ARM += ffmpeg/libavcodec/mpeg12.c
SRCFILES_ARM += ffmpeg/libavcodec/mpegvideo.c
SRCFILES_ARM += ffmpeg/libavcodec/msmpeg4.c
SRCFILES_ARM += ffmpeg/libavcodec/msvideo1.c
SRCFILES_ARM += ffmpeg/libavcodec/parser.c
SRCFILES_ARM += ffmpeg/libavcodec/simple_idct.c
SRCFILES_ARM += ffmpeg/libavcodec/tscc.c
SRCFILES_ARM += ffmpeg/libavcodec/utils.c
SRCFILES_ARM += ffmpeg/libavcodec/vp3dsp.c
#SRCFILES_ARM += ffmpeg/libavcodec/armv4l/mpegvideo_arm.c
#SRCFILES_ARM += ffmpeg/libavcodec/armv4l/dsputil_arm.c
#SRCFILES_ARM += ffmpeg/libavcodec/armv4l/dsputil_arm_s.S
#SRCFILES_ARM += ffmpeg/libavcodec/armv4l/simple_idct_arm.S
#SRCFILES_ARM += ffmpeg/libavcodec/armv4l/jrevdct_arm.S
SRCFILES_ARM += ffmpeg/libavutil/integer.c
SRCFILES_ARM += ffmpeg/libavutil/rational.c
SRCFILES_ARM += ffmpeg/libavutil/mathematics.c
SRCFILES_ARM += mpc/mpc.c
SRCFILES_ARM += mpc/libmusepack/src/huffsv46.c
SRCFILES_ARM += mpc/libmusepack/src/huffsv7.c
SRCFILES_ARM += mpc/libmusepack/src/idtag.c
SRCFILES_ARM += mpc/libmusepack/src/mpc_decoder.c
SRCFILES_ARM += mpc/libmusepack/src/requant.c
SRCFILES_ARM += mpc/libmusepack/src/streaminfo.c
SRCFILES_ARM += mpc/libmusepack/src/synth_filter.c
SRCFILES_ARM += ac3/ac3.c
SRCFILES_ARM += ac3/liba52/bit_allocate.c
SRCFILES_ARM += ac3/liba52/bitstream2.c
SRCFILES_ARM += ac3/liba52/crc.c
SRCFILES_ARM += ac3/liba52/downmix.c
SRCFILES_ARM += ac3/liba52/imdct.c
SRCFILES_ARM += ac3/liba52/parse.c
SRCFILES_ARM += aac/faad.c
SRCFILES_ARM += aac/libpaac/aac_imdct.c
SRCFILES_ARM += aac/faad2/libfaad/bits.c aac/faad2/libfaad/cfft.c
SRCFILES_ARM += aac/faad2/libfaad/common.c aac/faad2/libfaad/decoder.c
SRCFILES_ARM += aac/faad2/libfaad/drc.c aac/faad2/libfaad/drm_dec.c
SRCFILES_ARM += aac/faad2/libfaad/filtbank.c
SRCFILES_ARM += aac/faad2/libfaad/hcr.c aac/faad2/libfaad/huffman.c
SRCFILES_ARM += aac/faad2/libfaad/ic_predict.c aac/faad2/libfaad/is.c
SRCFILES_ARM += aac/faad2/libfaad/lt_predict.c aac/faad2/libfaad/mdct.c
SRCFILES_ARM += aac/faad2/libfaad/ms.c aac/faad2/libfaad/mp4.c
SRCFILES_ARM += aac/faad2/libfaad/output.c aac/faad2/libfaad/pns.c
SRCFILES_ARM += aac/faad2/libfaad/ps_dec.c aac/faad2/libfaad/ps_syntax.c
SRCFILES_ARM += aac/faad2/libfaad/rvlc.c aac/faad2/libfaad/pulse.c
SRCFILES_ARM += aac/faad2/libfaad/sbr_dct.c aac/faad2/libfaad/sbr_dec.c
SRCFILES_ARM += aac/faad2/libfaad/sbr_e_nf.c aac/faad2/libfaad/sbr_fbt.c
SRCFILES_ARM += aac/faad2/libfaad/sbr_hfadj.c aac/faad2/libfaad/sbr_hfgen.c
SRCFILES_ARM += aac/faad2/libfaad/sbr_huff.c aac/faad2/libfaad/sbr_qmf.c
SRCFILES_ARM += aac/faad2/libfaad/sbr_syntax.c aac/faad2/libfaad/sbr_tf_grid.c
SRCFILES_ARM += aac/faad2/libfaad/specrec.c aac/faad2/libfaad/ssr.c
SRCFILES_ARM += aac/faad2/libfaad/ssr_fb.c aac/faad2/libfaad/ssr_ipqf.c
SRCFILES_ARM += aac/faad2/libfaad/syntax.c aac/faad2/libfaad/tns.c
SRCFILES_ARM += sonyhhe/ge2d.c
SRCFILES_ARM += zodiac/ati4200.c
SRCFILES_ARM += sample/noplugins.c
SRCFILES_ARM += sample/events.c
SRCFILES_ARM += sample/sample_palmos.c
RESFILES = sample/sample.rcp
OBJS_M68K=$(SRCFILES_M68K:%.c=$(OUTDIR_M68K)%.o)
OBJS_ARM1=$(SRCFILES_ARM:%.c=$(OUTDIR_ARM)%.o)
OBJS_ARM2=$(OBJS_ARM1:%.s=$(OUTDIR_ARM)%.o)
OBJS_ARM=$(OBJS_ARM2:%.S=$(OUTDIR_ARM)%.o)
RESOURCES=$(RESFILES:%.rcp=$(OUTDIR_ARM)%.ro)
LANG_BIN=$(LANG_TXT:%.txt=%.bin)
all: $(APP)-all.prc
$(OUTDIR_M68K)$(APP): $(OBJS_M68K)
@echo linking m68k
@$(CC_M68K) $(CFLAGS_M68K) -static $(OBJS_M68K) $(LDFLAGS_M68K) -o $@
$(APP)-all.prc: $(OUTDIR_M68K)$(APP) $(OUTDIR_ARM)$(APP).ro $(APP).def $(LANG_BIN) $(RESOURCES)
@build-prc $(APP).def -o $@ $(OUTDIR_ARM)$(APP).ro $(OUTDIR_M68K)$(APP) $(RESOURCES)
$(OUTDIR_ARM)$(APP).bin: $(OBJS_ARM)
@echo linking arm
@$(CC_ARM) $(CFLAGS_ARM) -Wl,-Map=${OUTDIR_ARM}/$(APP).map $(LDFLAGS_ARM) $(OBJS_ARM) -o $@
$(OUTDIR_ARM)$(APP).ro: $(OUTDIR_ARM)$(APP).bin $(PEAL)
@$(PEAL) $(PEALFLAGS) -o $@ $(OUTDIR_ARM)$(APP).bin
$(OUTDIR_M68K)%.o: %.c
@echo compiling $<
@mkdir -p $(OUTDIR_M68K)$(*D)
@$(CC_M68K) $(CFLAGS_M68K) -c $< -o $@
$(OUTDIR_ARM)aac/faad2/%.o: aac/faad2/%.c
@echo compiling $<
@mkdir -p $(OUTDIR_ARM)aac/faad2/$(*D)
@$(CC_ARM) $(CFLAGS_ARM) -w -c $< -o $@
$(OUTDIR_ARM)vorbislq/tremor/%.o: vorbislq/tremor/%.c
@echo compiling $<
@mkdir -p $(OUTDIR_ARM)vorbislq/tremor/$(*D)
@$(CC_ARM) $(CFLAGS_ARM) -w -c $< -o $@
$(OUTDIR_ARM)matroska/MatroskaParser/%.o: matroska/MatroskaParser/%.c
@echo compiling $<
@mkdir -p $(OUTDIR_ARM)matroska/MatroskaParser/$(*D)
@$(CC_ARM) $(CFLAGS_ARM) -Os -c $< -o $@
$(OUTDIR_ARM)mpc/libmusepack/src/%.o: mpc/libmusepack/src/%.c
@echo compiling $<
@mkdir -p $(OUTDIR_ARM)mpc/libmusepack/src/$(*D)
@$(CC_ARM) $(CFLAGS_ARM) -w -c $< -o $@
$(OUTDIR_ARM)ffmpeg/libavcodec/%.o: ffmpeg/libavcodec/%.c
@echo compiling $<
@mkdir -p $(OUTDIR_ARM)ffmpeg/libavcodec/$(*D)
@$(CC_ARM) $(CFLAGS_ARM) -w -c $< -o $@
$(OUTDIR_ARM)%.o: %.c
@echo compiling $<
@mkdir -p $(OUTDIR_ARM)$(*D)
@$(CC_ARM) $(CFLAGS_ARM) -c $< -o $@
$(OUTDIR_ARM)%.o: %.s
@echo compiling $<
@mkdir -p $(OUTDIR_ARM)$(*D)
@$(CC_ARM) $(SFLAGS_ARM) -c $< -o $@
$(OUTDIR_ARM)%.o: %.S
@echo compiling $<
@mkdir -p $(OUTDIR_ARM)$(*D)
@$(CC_ARM) $(SFLAGS_ARM) -c $< -o $@
$(OUTDIR_ARM)%.ro: %.rcp
@echo compiling $<
@mkdir -p $(OUTDIR_ARM)$(*D)
@pilrc -I $(*D) -q -ro $< $@
$(PEAL): $(PEALSRC)
@echo compiling peal-postlink
@$(CPP_HOST) $(PEALSRC) -o $(PEAL)
@chmod u+x $(PEAL)
$(OUTDIR_ARM)langtobin: lang/langtobin.c
@echo compiling langtobin
@$(CC_HOST) lang/langtobin.c -o $(OUTDIR_ARM)langtobin
@chmod u+x $(OUTDIR_ARM)langtobin
%.bin: %.txt $(OUTDIR_ARM)langtobin
@echo convert $<
@$(OUTDIR_ARM)langtobin $< $@
clean:
@rm -rf $(OUTDIR_M68K) $(OUTDIR_ARM)
@rm -f $(APP)-all.prc
@rm -f lang/*.bin