Search
lxdream.org :: lxdream/test/Makefile.in
lxdream 0.9.1
released Jun 29
Download Now
filename test/Makefile.in
changeset 1024:c67f2d61ab97
prev1018:5942a162e5ef
next1065:bc1cc0c54917
author nkeynes
date Sat Jun 13 00:50:48 2009 +0000 (14 years ago)
permissions -rw-r--r--
last change Build drivers with library dependencies as shared objects (ie plugins)
file annotate diff log raw
nkeynes@731
     1
srcdir = @srcdir@
nkeynes@731
     2
top_srcdir = @top_srcdir@
nkeynes@731
     3
VPATH = @srcdir@
nkeynes@748
     4
mkdir_p = @mkdir_p@
nkeynes@731
     5
nkeynes@521
     6
# host compiler and flags
nkeynes@521
     7
HOSTCC		= @CC@
nkeynes@521
     8
HOSTCFLAGS	= @CFLAGS@
nkeynes@731
     9
nkeynes@521
    10
SH4CC		= @SHCC@
nkeynes@731
    11
SH4INC          = -I$(srcdir)/include
nkeynes@521
    12
SH4CFLAGS	= $(SH4INC) -D_arch_dreamcast -D_arch_sub_pristine \
nkeynes@521
    13
                  -O2 -fno-builtin -fno-strict-aliasing -ml -m4-single-only \
nkeynes@521
    14
                  -fno-optimize-sibling-calls
nkeynes@521
    15
SH4LD		= @SHLD@
nkeynes@521
    16
SH4LDFLAGS      = -fno-builtin -fno-strict-aliasing  -ml -m4-single-only \
nkeynes@731
    17
                  -Wl,-T$(srcdir)/dc.x -nostartfiles -nostdlib -L$(srcdir)/lib
nkeynes@521
    18
SH4LIBS         = -Wl,--start-group -lc -lgcc -lm -Wl,--end-group
nkeynes@521
    19
SH4OBJCOPY      = @SHOBJCOPY@ -O binary
nkeynes@731
    20
nkeynes@816
    21
SHARED_OBJECTS = dmac.so asic.so lib.so timer.so testdata.so interrupt.so
nkeynes@816
    22
nkeynes@521
    23
ARMCC		= @ARMCC@
nkeynes@812
    24
ARMCFLAGS	= -O2 -fno-builtin -fno-strict-aliasing -mlittle-endian
nkeynes@521
    25
ARMLD		= @ARMLD@
nkeynes@812
    26
ARMLDFLAGS      = -Wl,-T$(srcdir)/aica.x -nostartfiles -mlittle-endian \
nkeynes@812
    27
                  -nostdlib -L$(srcdir)/lib-arm
nkeynes@812
    28
ARMLIBS         = -Wl,--start-group -lc -lgcc -lm -Wl,--end-group
nkeynes@812
    29
ARMOBJCOPY	= @ARMOBJCOPY@ -O binary
nkeynes@521
    30
nkeynes@731
    31
RUNTEST		= ../src/lxdream -c $(srcdir)/lxdream.rc -puH -A null
nkeynes@731
    32
RUNTESTX	= ../src/lxdream -c $(srcdir)/lxdream.rc -xpuH -A null
nkeynes@521
    33
nkeynes@1018
    34
BUILD_SYSTEST_FALSE = @BUILD_SYSTEST_FALSE@
nkeynes@1018
    35
BUILD_SYSTEST_TRUE = @BUILD_SYSTEST_TRUE@
nkeynes@1018
    36
nkeynes@521
    37
%.ao: %.c
nkeynes@521
    38
	$(ARMCC) $(ARMCFLAGS) -o $@ -c $< 
nkeynes@521
    39
nkeynes@521
    40
%.ao: %.s
nkeynes@521
    41
	$(ARMCC) $(ARMCFLAGS) -o $@ -c $< 
nkeynes@521
    42
nkeynes@521
    43
%.so: %.c
nkeynes@521
    44
	$(SH4CC) $(SH4CFLAGS) -o $@ -c $< 
nkeynes@521
    45
nkeynes@521
    46
%.so: %.ac
nkeynes@521
    47
	$(SH4CC) $(SH4CFLAGS) -o $@ -c $< 
nkeynes@521
    48
nkeynes@521
    49
%.so: %.s
nkeynes@746
    50
	$(SH4CC) $(SH4CFLAGS) -o $@ -c $< -Wa,-I$(srcdir)
nkeynes@521
    51
nkeynes@521
    52
%.so: %.S
nkeynes@521
    53
	$(SH4CC) $(SH4CFLAGS) -o $@ -c $< 
nkeynes@521
    54
nkeynes@521
    55
%.o: %.c
nkeynes@521
    56
	$(HOSTCC) $(HOSTCFLAGS) -o $@ -c $<
nkeynes@521
    57
nkeynes@521
    58
%.arm: %.ao arm_crt0.ao
nkeynes@521
    59
	$(ARMCC) -Wl,-Ttext,0x00000000 -nostartfiles -nostdlib -e reset -o $@ arm_crt0.ao $< -lgcc
nkeynes@521
    60
nkeynes@521
    61
nkeynes@521
    62
%.bin: %.arm
nkeynes@521
    63
	$(ARMOBJCOPY) -O binary $< $@
nkeynes@521
    64
nkeynes@521
    65
%.aso: %.bin bin2c
nkeynes@521
    66
	./bin2c $< $<.c
nkeynes@521
    67
	$(SH4CC) $(SH4CFLAGS) -o $@ -c $<.c
nkeynes@521
    68
nkeynes@680
    69
all:
nkeynes@521
    70
nkeynes@1018
    71
@BUILD_SYSTEST_TRUE@check: build-tests
nkeynes@1018
    72
@BUILD_SYSTEST_TRUE@	$(RUNTEST) testsh4
nkeynes@1018
    73
@BUILD_SYSTEST_TRUE@	$(RUNTESTX) testsh4
nkeynes@1018
    74
@BUILD_SYSTEST_TRUE@	$(RUNTEST) testmmu
nkeynes@1018
    75
@BUILD_SYSTEST_TRUE@	$(RUNTEST) testregs
nkeynes@1018
    76
@BUILD_SYSTEST_TRUE@	cat $(srcdir)/testta.data $(srcdir)/testta2.data $(srcdir)/testta3.data $(srcdir)/testta4.data $(srcdir)/testta5.data | $(RUNTEST) testta
nkeynes@1018
    77
@BUILD_SYSTEST_TRUE@	cat $(srcdir)/testsort.data | $(RUNTEST) testta
nkeynes@550
    78
#	$(RUNTEST) testide -d ../disc/test.nrg
nkeynes@521
    79
nkeynes@521
    80
nkeynes@976
    81
build-tests: testsh4 testmmu testmath testide testta testregs testrend testdisp testspu testmmu
nkeynes@521
    82
nkeynes@894
    83
lib/crt0.so: lib/crt0.s
nkeynes@894
    84
	$(mkdir_p) lib
nkeynes@894
    85
	$(SH4CC) $(SH4CFLAGS) -o $@ -c $< 
nkeynes@894
    86
nkeynes@894
    87
lib-arm/crt0.ao: lib-arm/crt0.s
nkeynes@894
    88
	$(mkdir_p) lib-arm
nkeynes@894
    89
	$(ARMCC) $(ARMCFLAGS) -o $@ -c $< 
nkeynes@894
    90
nkeynes@894
    91
nkeynes@812
    92
testsh4: lib/crt0.so sh4/testsh4.so timer.so interrupt.so \
nkeynes@521
    93
	 sh4/add.so sh4/addc.so sh4/addv.so sh4/and.so sh4/andi.so \
nkeynes@521
    94
	 sh4/bf.so sh4/bsr.so sh4/bt.so sh4/cmp.so sh4/cmpstr.so \
nkeynes@521
    95
	 sh4/div0.so sh4/div1.so sh4/float.so sh4/fmov.so sh4/ftrc.so \
nkeynes@823
    96
	 sh4/ldc.so sh4/mac.so \
nkeynes@521
    97
	 sh4/rot.so sh4/shl.so sh4/shld.so sh4/sub.so sh4/subc.so \
nkeynes@533
    98
	 sh4/trapa.so sh4/tas.so sh4/xtrct.so \
nkeynes@808
    99
	 sh4/excslot.so sh4/undef.so sh4/tlb.so sh4/vmexit.so
nkeynes@521
   100
	$(SH4CC) $(SH4LDFLAGS) $^ -o $@ $(SH4LIBS)
nkeynes@521
   101
	$(SH4OBJCOPY) testsh4 testsh4.bin
nkeynes@521
   102
nkeynes@976
   103
testmmu: lib/crt0.so sh4/testmmu.so sh4/utlb.so sh4/testutlb.so sh4/mmummio.so
nkeynes@976
   104
	$(SH4CC) $(SH4LDFLAGS) $^ -o $@ $(SH4LIBS)
nkeynes@976
   105
	$(SH4OBJCOPY) testmmu testmmu.bin
nkeynes@976
   106
nkeynes@976
   107
nkeynes@816
   108
testide: lib/crt0.so $(SHARED_OBJECTS) testide.so ide.so
nkeynes@521
   109
	$(SH4CC) $(SH4LDFLAGS) $^ -o $@ $(SH4LIBS)
nkeynes@521
   110
	$(SH4OBJCOPY) testide testide.bin
nkeynes@521
   111
nkeynes@812
   112
testmath: lib/crt0.so $(SHARED_OBJECTS) testmath.so math.so
nkeynes@521
   113
	$(SH4CC) $(SH4LDFLAGS) $^  -o $@ $(SH4LIBS)
nkeynes@521
   114
nkeynes@812
   115
testregs: lib/crt0.so $(SHARED_OBJECTS) testregs.so ide.so
nkeynes@521
   116
	$(SH4CC) $(SH4LDFLAGS) $^  -o $@ $(SH4LIBS)
nkeynes@521
   117
	$(SH4OBJCOPY) testregs testregs.bin
nkeynes@521
   118
nkeynes@816
   119
testta: lib/crt0.so $(SHARED_OBJECTS) testta.so pvr.so
nkeynes@521
   120
	$(SH4CC) $(SH4LDFLAGS) $^  -o $@ $(SH4LIBS)
nkeynes@521
   121
	$(SH4OBJCOPY) testta testta.bin
nkeynes@521
   122
nkeynes@816
   123
testaica: lib/crt0.so $(SHARED_OBJECTS) testaica.so 
nkeynes@812
   124
	$(SH4CC) $(SH4LDFLAGS) $^ -o $@ $(SH4LIBS)
nkeynes@812
   125
	$(SH4OBJCOPY) testaica testaica.bin
nkeynes@812
   126
nkeynes@816
   127
testrend: lib/crt0.so $(SHARED_OBJECTS) testrend.so pvr.so
nkeynes@521
   128
	$(SH4CC) $(SH4LDFLAGS) $^  -o $@ $(SH4LIBS)
nkeynes@521
   129
	$(SH4OBJCOPY) testrend testrend.bin
nkeynes@521
   130
nkeynes@816
   131
testblend: lib/crt0.so $(SHARED_OBJECTS) testblend.so pvr.so
nkeynes@521
   132
	$(SH4CC) $(SH4LDFLAGS) $^  -o $@ $(SH4LIBS)
nkeynes@521
   133
	$(SH4OBJCOPY) testblend testblend.bin
nkeynes@521
   134
nkeynes@816
   135
testdisp: lib/crt0.so $(SHARED_OBJECTS) testdisp.so pvr.so
nkeynes@521
   136
	$(SH4CC) $(SH4LDFLAGS) $^  -o $@ $(SH4LIBS)
nkeynes@521
   137
	$(SH4OBJCOPY) testdisp testdisp.bin
nkeynes@521
   138
nkeynes@816
   139
testyuv: lib/crt0.so $(SHARED_OBJECTS) testyuv.so pvr.so
nkeynes@521
   140
	$(SH4CC) $(SH4LDFLAGS) $^  -o $@ $(SH4LIBS)
nkeynes@521
   141
	$(SH4OBJCOPY) testyuv testyuv.bin
nkeynes@521
   142
nkeynes@816
   143
testspu: lib/crt0.so $(SHARED_OBJECTS) testspu.so
nkeynes@521
   144
	$(SH4CC) $(SH4LDFLAGS) $^  -o $@ $(SH4LIBS)
nkeynes@521
   145
	$(SH4OBJCOPY) testspu testspu.bin
nkeynes@521
   146
nkeynes@816
   147
testg2: lib/crt0.so $(SHARED_OBJECTS) testg2.so
nkeynes@521
   148
	$(SH4CC) $(SH4LDFLAGS) $^  -o $@ $(SH4LIBS)
nkeynes@521
   149
	$(SH4OBJCOPY) testg2 testg2.bin
nkeynes@521
   150
nkeynes@816
   151
readdata: lib/crt0.so $(SHARED_OBJECTS) readdata.so
nkeynes@521
   152
	$(SH4CC) $(SH4LDFLAGS) $^ -o $@ $(SH4LIBS)
nkeynes@521
   153
nkeynes@816
   154
rend: lib/crt0.so $(SHARED_OBJECTS) rendload.so pvr.so
nkeynes@521
   155
	$(SH4CC) $(SH4LDFLAGS) $^ -o $@ $(SH4LIBS)
nkeynes@521
   156
	$(SH4OBJCOPY) rend rend.bin
nkeynes@521
   157
nkeynes@816
   158
testFF10: lib/crt0.so $(SHARED_OBJECTS) testFF10.so
nkeynes@521
   159
	$(SH4CC) $(SH4LDFLAGS) $^  -o $@ $(SH4LIBS)
nkeynes@521
   160
	$(SH4OBJCOPY) testFF10 testFF10.bin
nkeynes@521
   161
nkeynes@521
   162
.PHONY : clean
nkeynes@521
   163
clean:
nkeynes@894
   164
	rm -f *.o *.so *.ao *.ac *.bin sh4/*.so lib/*.so lib-arm/*.ao mapleid \
nkeynes@894
   165
	   readmem dumpasic testsh4 testta testdisp testregs testide testmath \
nkeynes@894
   166
	   testmmu testaica testrend testspu ide dcflash.rom
nkeynes@521
   167
nkeynes@712
   168
distclean: clean
nkeynes@712
   169
	rm -f Makefile
nkeynes@748
   170
nkeynes@748
   171
install:
nkeynes@748
   172
nkeynes@748
   173
installcheck:
nkeynes@748
   174
nkeynes@748
   175
uninstall:
nkeynes@748
   176
nkeynes@812
   177
DISTFILES = asic.c asic.h bin2c.c dma.h dmac.c ide.c ide.h interrupt.s \
nkeynes@748
   178
        lib.c lib.h math.s pvr.c pvr.h rendload.c sh4/add.s sh4/addc.s \
nkeynes@748
   179
        sh4/addv.s sh4/and.s sh4/andi.s sh4/bf.s sh4/bsr.s sh4/bt.s sh4/cmp.s \
nkeynes@748
   180
        sh4/cmpstr.s sh4/div0.s sh4/div1.s sh4/excslot.s sh4/float.s sh4/fmov.s \
nkeynes@823
   181
        sh4/ftrc.s sh4/inc.s sh4/mac.s sh4/ldc.s sh4/rot.s sh4/shl.s sh4/shld.s sh4/sub.s \
nkeynes@808
   182
        sh4/subc.s sh4/tas.s sh4/testsh4.c sh4/tlb.s sh4/vmexit.s sh4/trapa.s sh4/undef.s \
nkeynes@1024
   183
        sh4/xtrct.s sh4/utlb.c sh4/utlb.h sh4/testutlb.s testdata.c testdata.h testdisp.c \
nkeynes@1024
   184
        testide.c testmath.c testaica.c sh4/testmmu.c sh4/mmummio.c testregs.c testrend.c \
nkeynes@1024
   185
        testspu.c testta.c testyuv.c timer.c timer.h \
nkeynes@794
   186
        testta.data testta2.data testta3.data testta4.data testta5.data testsort.data \
nkeynes@812
   187
        lxdream.rc dc.x lib/crt0.s lib/libc.a lib/libm.a lib/newlib-1.8.2-dc.patch \
nkeynes@812
   188
        aica.x lib-arm/libc.a lib-arm/libm.a lib-arm/crt0.s \
nkeynes@748
   189
	include/_ansi.h include/_syslist.h include/ar.h include/assert.h include/ctype.h \
nkeynes@748
   190
	include/dirent.h include/errno.h include/fastmath.h include/fcntl.h include/grp.h \
nkeynes@748
   191
	include/ieeefp.h include/locale.h include/machine/fastmath.h include/machine/ieeefp.h \
nkeynes@748
   192
	include/machine/setjmp-dj.h include/machine/setjmp.h include/machine/time.h \
nkeynes@748
   193
	include/machine/types.h include/malloc.h include/math.h include/paths.h \
nkeynes@748
   194
	include/process.h include/pwd.h include/reent.h include/regdef.h include/setjmp.h \
nkeynes@748
   195
	include/signal.h include/stdio.h include/stdlib.h include/string.h include/sys/_types.h \
nkeynes@748
   196
	include/sys/config.h include/sys/dirent.h include/sys/errno.h include/sys/fcntl.h \
nkeynes@748
   197
	include/sys/file.h include/sys/param.h include/sys/reent.h include/sys/resource.h \
nkeynes@748
   198
	include/sys/signal.h include/sys/stat-dj.h include/sys/stat.h include/sys/time.h \
nkeynes@748
   199
	include/sys/timeb.h include/sys/times.h include/sys/types.h include/sys/unistd.h \
nkeynes@748
   200
	include/sys/utime.h include/sys/wait.h include/termios.h include/time.h \
nkeynes@816
   201
	include/unctrl.h include/unistd.h include/utime.h include/utmp.h \
nkeynes@1018
   202
@BUILD_SYSTEST_TRUE@	testsh4 testregs testmmu testta testaica 
nkeynes@748
   203
                        
nkeynes@748
   204
nkeynes@748
   205
nkeynes@816
   206
distdir: $(DISTFILES)
nkeynes@748
   207
	$(mkdir_p) $(distdir)/sh4 $(distdir)/lib $(distdir)/include
nkeynes@748
   208
	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
nkeynes@748
   209
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
nkeynes@748
   210
	list='$(DISTFILES)'; for file in $$list; do \
nkeynes@748
   211
	  case $$file in \
nkeynes@748
   212
	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
nkeynes@748
   213
	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
nkeynes@748
   214
	  esac; \
nkeynes@748
   215
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
nkeynes@748
   216
	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
nkeynes@748
   217
	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
nkeynes@748
   218
	    dir="/$$dir"; \
nkeynes@748
   219
	    $(mkdir_p) "$(distdir)$$dir"; \
nkeynes@748
   220
	  else \
nkeynes@748
   221
	    dir=''; \
nkeynes@748
   222
	  fi; \
nkeynes@748
   223
	  if test -d $$d/$$file; then \
nkeynes@748
   224
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
nkeynes@748
   225
	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
nkeynes@748
   226
	    fi; \
nkeynes@748
   227
	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
nkeynes@748
   228
	  else \
nkeynes@748
   229
	    test -f $(distdir)/$$file \
nkeynes@748
   230
	    || cp -p $$d/$$file $(distdir)/$$file \
nkeynes@748
   231
	    || exit 1; \
nkeynes@748
   232
	  fi; \
nkeynes@748
   233
	done
nkeynes@748
   234
nkeynes@748
   235
dvi:
.