diff options
author | Andrew Mahone <andrew.mahone@gmail.com> | 2009-07-13 00:40:35 +0000 |
---|---|---|
committer | Andrew Mahone <andrew.mahone@gmail.com> | 2009-07-13 00:40:35 +0000 |
commit | 668a769ca4cabdfee54dc53e92a964c32c9738d7 (patch) | |
tree | a4c42168e4b86d4b7e09533307ae070fd3c7bcc0 | |
parent | 36eeecbe9a91a5da8bd82ee3974c359f4534dd14 (diff) | |
download | rockbox-668a769ca4cabdfee54dc53e92a964c32c9738d7.tar.gz rockbox-668a769ca4cabdfee54dc53e92a964c32c9738d7.zip |
Add new asmdefs mechanism for exporting information only available to the C compiler for use in asm files, and use it in arm jpeg idct. See apps/apps.make, apps/core_asmdefs.c, and apps/recorder/jpeg_idct_arm.S for details.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21831 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/apps.make | 2 | ||||
-rw-r--r-- | apps/core_asmdefs.c | 17 | ||||
-rw-r--r-- | apps/recorder/jpeg_idct_arm.S | 204 | ||||
-rwxr-xr-x | tools/addtargetdir.pl | 1 | ||||
-rw-r--r-- | tools/functions.make | 4 | ||||
-rw-r--r-- | tools/root.make | 11 |
6 files changed, 87 insertions, 152 deletions
diff --git a/apps/apps.make b/apps/apps.make index bd675578e5..9c2d72fb9d 100644 --- a/apps/apps.make +++ b/apps/apps.make | |||
@@ -24,3 +24,5 @@ features $(BUILDDIR)/apps/features $(BUILDDIR)/apps/genlang-features: $(APPSDIR) | |||
24 | grep -v "^\#" | grep -v "^$$" > $(BUILDDIR)/apps/features; \ | 24 | grep -v "^\#" | grep -v "^$$" > $(BUILDDIR)/apps/features; \ |
25 | for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done ; \ | 25 | for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done ; \ |
26 | echo "$$feat" >$(BUILDDIR)/apps/genlang-features | 26 | echo "$$feat" >$(BUILDDIR)/apps/genlang-features |
27 | |||
28 | ASMDEFS_SRC += $(APPSDIR)/core_asmdefs.c | ||
diff --git a/apps/core_asmdefs.c b/apps/core_asmdefs.c new file mode 100644 index 0000000000..f0847b2254 --- /dev/null +++ b/apps/core_asmdefs.c | |||
@@ -0,0 +1,17 @@ | |||
1 | #include <config.h> | ||
2 | #include <bmp.h> | ||
3 | |||
4 | /* To export a value for use in assembly files, define an int or unsigned here | ||
5 | * named AD_<name> and include apps/core_asmdefs.h in the assembly file. | ||
6 | * Identifiers without the AD_ prefix will be ignored, and can be used to | ||
7 | * create instances of structs for finding offsets to individual members. | ||
8 | */ | ||
9 | |||
10 | |||
11 | /* Size of a pixel with 8-bit components. */ | ||
12 | const int AD_pix8_size = | ||
13 | #ifdef HAVE_LCD_COLOR | ||
14 | sizeof(struct uint8_rgb); | ||
15 | #else | ||
16 | 1; | ||
17 | #endif | ||
diff --git a/apps/recorder/jpeg_idct_arm.S b/apps/recorder/jpeg_idct_arm.S index 75e3e4d2b3..d41b7a6aaa 100644 --- a/apps/recorder/jpeg_idct_arm.S +++ b/apps/recorder/jpeg_idct_arm.S | |||
@@ -22,6 +22,7 @@ | |||
22 | * | 22 | * |
23 | ****************************************************************************/ | 23 | ****************************************************************************/ |
24 | #include "config.h" | 24 | #include "config.h" |
25 | #include "apps/core_asmdefs.h" | ||
25 | 26 | ||
26 | .section .text | 27 | .section .text |
27 | .align 2 | 28 | .align 2 |
@@ -130,13 +131,8 @@ jpeg_idct2h: | |||
130 | mvnhi r5, r5, asr #31 | 131 | mvnhi r5, r5, asr #31 |
131 | cmp r4, #255 | 132 | cmp r4, #255 |
132 | mvnhi r4, r4, asr #31 | 133 | mvnhi r4, r4, asr #31 |
133 | #ifdef HAVE_LCD_COLOR | ||
134 | strb r5, [r1] | 134 | strb r5, [r1] |
135 | strb r4, [r1, #4] | 135 | strb r4, [r1, #pix8_size] |
136 | #else | ||
137 | strb r5, [r1] | ||
138 | strb r4, [r1, #1] | ||
139 | #endif | ||
140 | add r0, r0, #16 | 136 | add r0, r0, #16 |
141 | add r1, r1, r3 | 137 | add r1, r1, r3 |
142 | cmp r0, r2 | 138 | cmp r0, r2 |
@@ -152,13 +148,8 @@ jpeg_idct2h: | |||
152 | usat r4, #8, r12, asr #21 | 148 | usat r4, #8, r12, asr #21 |
153 | sxth r12, r12 | 149 | sxth r12, r12 |
154 | usat r12, #8, r12, asr #5 | 150 | usat r12, #8, r12, asr #5 |
155 | #ifdef HAVE_LCD_COLOR | ||
156 | strb r4, [r1] | ||
157 | strb r12, [r1, #4] | ||
158 | #else | ||
159 | strb r4, [r1] | 151 | strb r4, [r1] |
160 | strb r12, [r1, #1] | 152 | strb r12, [r1, #pix8_size] |
161 | #endif | ||
162 | add r0, r0, #16 | 153 | add r0, r0, #16 |
163 | add r1, r1, r3 | 154 | add r1, r1, r3 |
164 | cmp r0, r2 | 155 | cmp r0, r2 |
@@ -325,17 +316,10 @@ jpeg_idct4h: | |||
325 | mvnhi r4, r4, asr #31 | 316 | mvnhi r4, r4, asr #31 |
326 | cmp r5, #255 | 317 | cmp r5, #255 |
327 | mvnhi r5, r5, asr #31 | 318 | mvnhi r5, r5, asr #31 |
328 | #ifdef HAVE_LCD_COLOR | ||
329 | strb r9, [r1] | ||
330 | strb r8, [r1, #4] | ||
331 | strb r4, [r1, #8] | ||
332 | strb r5, [r1, #12] | ||
333 | #else | ||
334 | strb r9, [r1] | 319 | strb r9, [r1] |
335 | strb r8, [r1, #1] | 320 | strb r8, [r1, #pix8_size] |
336 | strb r4, [r1, #2] | 321 | strb r4, [r1, #2*pix8_size] |
337 | strb r5, [r1, #3] | 322 | strb r5, [r1, #3*pix8_size] |
338 | #endif | ||
339 | add r0, r0, #16 | 323 | add r0, r0, #16 |
340 | add r1, r1, r3 | 324 | add r1, r1, r3 |
341 | cmp r0, r2 | 325 | cmp r0, r2 |
@@ -372,17 +356,10 @@ jpeg_idct4h: | |||
372 | mvnhi r12, r12, asr #31 | 356 | mvnhi r12, r12, asr #31 |
373 | cmp r9, #255 | 357 | cmp r9, #255 |
374 | mvnhi r9, r9, asr #31 | 358 | mvnhi r9, r9, asr #31 |
375 | #ifdef HAVE_LCD_COLOR | ||
376 | strb r6, [r1] | 359 | strb r6, [r1] |
377 | strb r14, [r1, #4] | 360 | strb r14, [r1, #pix8_size] |
378 | strb r12, [r1, #8] | 361 | strb r12, [r1, #2*pix8_size] |
379 | strb r9, [r1, #12] | 362 | strb r9, [r1, #3*pix8_size] |
380 | #else | ||
381 | strb r6, [r1] | ||
382 | strb r14, [r1, #1] | ||
383 | strb r12, [r1, #2] | ||
384 | strb r9, [r1, #3] | ||
385 | #endif | ||
386 | add r0, r0, #16 | 363 | add r0, r0, #16 |
387 | add r1, r1, r3 | 364 | add r1, r1, r3 |
388 | cmp r0, r2 | 365 | cmp r0, r2 |
@@ -410,17 +387,10 @@ jpeg_idct4h: | |||
410 | usat r6, #8, r6, asr #18 | 387 | usat r6, #8, r6, asr #18 |
411 | usat r12, #8, r12, asr #18 | 388 | usat r12, #8, r12, asr #18 |
412 | usat r14, #8, r14, asr #18 | 389 | usat r14, #8, r14, asr #18 |
413 | #ifdef HAVE_LCD_COLOR | ||
414 | strb r8, [r1] | ||
415 | strb r6, [r1, #12] | ||
416 | strb r12, [r1, #4] | ||
417 | strb r14, [r1, #8] | ||
418 | #else | ||
419 | strb r8, [r1] | 390 | strb r8, [r1] |
420 | strb r6, [r1, #3] | 391 | strb r6, [r1, #3*pix8_size] |
421 | strb r12, [r1, #1] | 392 | strb r12, [r1, #pix8_size] |
422 | strb r14, [r1, #2] | 393 | strb r14, [r1, #2*pix8_size] |
423 | #endif | ||
424 | add r0, r0, #16 | 394 | add r0, r0, #16 |
425 | add r1, r1, r3 | 395 | add r1, r1, r3 |
426 | cmp r0, r2 | 396 | cmp r0, r2 |
@@ -645,25 +615,14 @@ jpeg_idct8h: | |||
645 | mov r8, r8, asr #21 | 615 | mov r8, r8, asr #21 |
646 | cmp r8, #255 | 616 | cmp r8, #255 |
647 | mvnhi r8, r8, asr #31 | 617 | mvnhi r8, r8, asr #31 |
648 | #ifdef HAVE_LCD_COLOR | ||
649 | strb r8, [r1] | ||
650 | strb r8, [r1, #4] | ||
651 | strb r8, [r1, #8] | ||
652 | strb r8, [r1, #12] | ||
653 | strb r8, [r1, #16] | ||
654 | strb r8, [r1, #20] | ||
655 | strb r8, [r1, #24] | ||
656 | strb r8, [r1, #28] | ||
657 | #else | ||
658 | strb r8, [r1] | 618 | strb r8, [r1] |
659 | strb r8, [r1, #1] | 619 | strb r8, [r1, #pix8_size] |
660 | strb r8, [r1, #2] | 620 | strb r8, [r1, #2*pix8_size] |
661 | strb r8, [r1, #3] | 621 | strb r8, [r1, #3*pix8_size] |
662 | strb r8, [r1, #4] | 622 | strb r8, [r1, #4*pix8_size] |
663 | strb r8, [r1, #5] | 623 | strb r8, [r1, #5*pix8_size] |
664 | strb r8, [r1, #6] | 624 | strb r8, [r1, #6*pix8_size] |
665 | strb r8, [r1, #7] | 625 | strb r8, [r1, #7*pix8_size] |
666 | #endif | ||
667 | add r1, r1, r3 | 626 | add r1, r1, r3 |
668 | cmp r0, r2 | 627 | cmp r0, r2 |
669 | bcc 1b | 628 | bcc 1b |
@@ -752,25 +711,14 @@ jpeg_idct8h: | |||
752 | mov r14, r14, asr #18 | 711 | mov r14, r14, asr #18 |
753 | cmp r14, #255 | 712 | cmp r14, #255 |
754 | mvnhi r14, r14, asr #31 | 713 | mvnhi r14, r14, asr #31 |
755 | #ifdef HAVE_LCD_COLOR | ||
756 | strb r12, [r1] | ||
757 | strb r4, [r1, #4] | ||
758 | strb r10, [r1, #8] | ||
759 | strb r8, [r1, #12] | ||
760 | strb r9, [r1, #16] | ||
761 | strb r11, [r1, #20] | ||
762 | strb r5, [r1, #24] | ||
763 | strb r14, [r1, #28] | ||
764 | #else | ||
765 | strb r12, [r1] | 714 | strb r12, [r1] |
766 | strb r4, [r1, #1] | 715 | strb r4, [r1, #pix8_size] |
767 | strb r10, [r1, #2] | 716 | strb r10, [r1, #2*pix8_size] |
768 | strb r8, [r1, #3] | 717 | strb r8, [r1, #3*pix8_size] |
769 | strb r9, [r1, #4] | 718 | strb r9, [r1, #4*pix8_size] |
770 | strb r11, [r1, #5] | 719 | strb r11, [r1, #5*pix8_size] |
771 | strb r5, [r1, #6] | 720 | strb r5, [r1, #6*pix8_size] |
772 | strb r14, [r1, #7] | 721 | strb r14, [r1, #7*pix8_size] |
773 | #endif | ||
774 | #else /* ARMv5+ */ | 722 | #else /* ARMv5+ */ |
775 | add r12, r14, r4, lsl #16 | 723 | add r12, r14, r4, lsl #16 |
776 | orrs r9, r6, r7 | 724 | orrs r9, r6, r7 |
@@ -779,25 +727,14 @@ jpeg_idct8h: | |||
779 | mov r12, r12, asr #21 | 727 | mov r12, r12, asr #21 |
780 | cmp r12, #255 | 728 | cmp r12, #255 |
781 | mvnhi r12, r12, asr #31 | 729 | mvnhi r12, r12, asr #31 |
782 | #ifdef HAVE_LCD_COLOR | ||
783 | strb r12, [r1] | 730 | strb r12, [r1] |
784 | strb r12, [r1, #4] | 731 | strb r12, [r1, #pix8_size] |
785 | strb r12, [r1, #8] | 732 | strb r12, [r1, #2*pix8_size] |
786 | strb r12, [r1, #12] | 733 | strb r12, [r1, #3*pix8_size] |
787 | strb r12, [r1, #16] | 734 | strb r12, [r1, #4*pix8_size] |
788 | strb r12, [r1, #20] | 735 | strb r12, [r1, #5*pix8_size] |
789 | strb r12, [r1, #24] | 736 | strb r12, [r1, #6*pix8_size] |
790 | strb r12, [r1, #28] | 737 | strb r12, [r1, #7*pix8_size] |
791 | #else | ||
792 | strb r12, [r1] | ||
793 | strb r12, [r1, #1] | ||
794 | strb r12, [r1, #2] | ||
795 | strb r12, [r1, #3] | ||
796 | strb r12, [r1, #4] | ||
797 | strb r12, [r1, #5] | ||
798 | strb r12, [r1, #6] | ||
799 | strb r12, [r1, #7] | ||
800 | #endif | ||
801 | add r1, r1, r3 | 738 | add r1, r1, r3 |
802 | cmp r0, r2 | 739 | cmp r0, r2 |
803 | bcc 1b | 740 | bcc 1b |
@@ -869,25 +806,14 @@ jpeg_idct8h: | |||
869 | mov r11, r11, asr #18 | 806 | mov r11, r11, asr #18 |
870 | cmp r11, #255 | 807 | cmp r11, #255 |
871 | mvnhi r11, r11, asr #31 | 808 | mvnhi r11, r11, asr #31 |
872 | #ifdef HAVE_LCD_COLOR | ||
873 | strb r10, [r1] | ||
874 | strb r12, [r1, #4] | ||
875 | strb r8, [r1, #8] | ||
876 | strb r6, [r1, #12] | ||
877 | strb r7, [r1, #16] | ||
878 | strb r9, [r1, #20] | ||
879 | strb r14, [r1, #24] | ||
880 | strb r11, [r1, #28] | ||
881 | #else | ||
882 | strb r10, [r1] | 809 | strb r10, [r1] |
883 | strb r12, [r1, #1] | 810 | strb r12, [r1, #pix8_size] |
884 | strb r8, [r1, #2] | 811 | strb r8, [r1, #2*pix8_size] |
885 | strb r6, [r1, #3] | 812 | strb r6, [r1, #3*pix8_size] |
886 | strb r7, [r1, #4] | 813 | strb r7, [r1, #4*pix8_size] |
887 | strb r9, [r1, #5] | 814 | strb r9, [r1, #5*pix8_size] |
888 | strb r14, [r1, #6] | 815 | strb r14, [r1, #6*pix8_size] |
889 | strb r11, [r1, #7] | 816 | strb r11, [r1, #7*pix8_size] |
890 | #endif | ||
891 | #endif | 817 | #endif |
892 | add r1, r1, r3 | 818 | add r1, r1, r3 |
893 | cmp r0, r2 | 819 | cmp r0, r2 |
@@ -1009,25 +935,14 @@ jpeg_idct8h: | |||
1009 | bne 2f | 935 | bne 2f |
1010 | sxth r4, r4 | 936 | sxth r4, r4 |
1011 | usat r4, #8, r4, asr #5 | 937 | usat r4, #8, r4, asr #5 |
1012 | #ifdef HAVE_LCD_COLOR | ||
1013 | strb r4, [r1] | ||
1014 | strb r4, [r1, #4] | ||
1015 | strb r4, [r1, #8] | ||
1016 | strb r4, [r1, #12] | ||
1017 | strb r4, [r1, #16] | ||
1018 | strb r4, [r1, #20] | ||
1019 | strb r4, [r1, #24] | ||
1020 | strb r4, [r1, #28] | ||
1021 | #else | ||
1022 | strb r4, [r1] | 938 | strb r4, [r1] |
1023 | strb r4, [r1, #1] | 939 | strb r4, [r1, #pix8_size] |
1024 | strb r4, [r1, #2] | 940 | strb r4, [r1, #2*pix8_size] |
1025 | strb r4, [r1, #3] | 941 | strb r4, [r1, #3*pix8_size] |
1026 | strb r4, [r1, #4] | 942 | strb r4, [r1, #4*pix8_size] |
1027 | strb r4, [r1, #5] | 943 | strb r4, [r1, #5*pix8_size] |
1028 | strb r4, [r1, #6] | 944 | strb r4, [r1, #6*pix8_size] |
1029 | strb r4, [r1, #7] | 945 | strb r4, [r1, #7*pix8_size] |
1030 | #endif | ||
1031 | add r1, r1, r3 | 946 | add r1, r1, r3 |
1032 | cmp r0, r2 | 947 | cmp r0, r2 |
1033 | bcc 1b | 948 | bcc 1b |
@@ -1083,25 +998,14 @@ jpeg_idct8h: | |||
1083 | usat r10, #8, r10, asr #18 | 998 | usat r10, #8, r10, asr #18 |
1084 | usat r7, #8, r7, asr #18 | 999 | usat r7, #8, r7, asr #18 |
1085 | usat r8, #8, r8, asr #18 | 1000 | usat r8, #8, r8, asr #18 |
1086 | #ifdef HAVE_LCD_COLOR | ||
1087 | strb r6, [r1] | ||
1088 | strb r4, [r1, #4] | ||
1089 | strb r9, [r1, #8] | ||
1090 | strb r14, [r1, #12] | ||
1091 | strb r12, [r1, #16] | ||
1092 | strb r10, [r1, #20] | ||
1093 | strb r7, [r1, #24] | ||
1094 | strb r8, [r1, #28] | ||
1095 | #else | ||
1096 | strb r6, [r1] | 1001 | strb r6, [r1] |
1097 | strb r4, [r1, #1] | 1002 | strb r4, [r1, #pix8_size] |
1098 | strb r9, [r1, #2] | 1003 | strb r9, [r1, #2*pix8_size] |
1099 | strb r14, [r1, #3] | 1004 | strb r14, [r1, #3*pix8_size] |
1100 | strb r12, [r1, #4] | 1005 | strb r12, [r1, #4*pix8_size] |
1101 | strb r10, [r1, #5] | 1006 | strb r10, [r1, #5*pix8_size] |
1102 | strb r7, [r1, #6] | 1007 | strb r7, [r1, #6*pix8_size] |
1103 | strb r8, [r1, #7] | 1008 | strb r8, [r1, #7*pix8_size] |
1104 | #endif | ||
1105 | cmp r0, r2 | 1009 | cmp r0, r2 |
1106 | add r1, r1, r3 | 1010 | add r1, r1, r3 |
1107 | bcc 1b | 1011 | bcc 1b |
diff --git a/tools/addtargetdir.pl b/tools/addtargetdir.pl index 6a9a72a878..2868e9027b 100755 --- a/tools/addtargetdir.pl +++ b/tools/addtargetdir.pl | |||
@@ -23,6 +23,7 @@ my $src; | |||
23 | # Split the input file on any runs of '\' and whitespace. | 23 | # Split the input file on any runs of '\' and whitespace. |
24 | for (split(/[\s\\]+/m, <STDIN>)) { | 24 | for (split(/[\s\\]+/m, <STDIN>)) { |
25 | /^(\/)?[^:]+(\:)?$/; | 25 | /^(\/)?[^:]+(\:)?$/; |
26 | print ">>$& $src" | ||
26 | # Save target and continue if this item ends in ':' | 27 | # Save target and continue if this item ends in ':' |
27 | if (!($2 && ($target=$&))) { | 28 | if (!($2 && ($target=$&))) { |
28 | $src = $&; | 29 | $src = $&; |
diff --git a/tools/functions.make b/tools/functions.make index 66354ebc18..ba444267c4 100644 --- a/tools/functions.make +++ b/tools/functions.make | |||
@@ -25,6 +25,9 @@ preprocess = $(shell $(CC) $(PPCFLAGS) $(2) -E -P -x c -include config.h $(1) | | |||
25 | preprocess2file = $(shell $(CC) $(PPCFLAGS) $(3) -E -P -x c -include config.h $(1) | \ | 25 | preprocess2file = $(shell $(CC) $(PPCFLAGS) $(3) -E -P -x c -include config.h $(1) | \ |
26 | grep -v '^\#' | grep -v "^$$" > $(2)) | 26 | grep -v '^\#' | grep -v "^$$" > $(2)) |
27 | 27 | ||
28 | asmdefs2file = $(shell $(CC) $(PPCFLAGS) $(3) -S -x c -o - -include config.h $(1) | \ | ||
29 | perl -ne 'if(/^AD_(\w+):$$/){$$var=$$1}else{/^\W\.word\W(.*)$$/ && $$var && print "\#define $$var $$1\n";$$var=0}' > $2) | ||
30 | |||
28 | c2obj = $(addsuffix .o,$(basename $(subst $(ROOTDIR),$(BUILDDIR),$(1)))) | 31 | c2obj = $(addsuffix .o,$(basename $(subst $(ROOTDIR),$(BUILDDIR),$(1)))) |
29 | 32 | ||
30 | # calculate dependencies for a list of source files $(2) and output them | 33 | # calculate dependencies for a list of source files $(2) and output them |
@@ -32,6 +35,7 @@ c2obj = $(addsuffix .o,$(basename $(subst $(ROOTDIR),$(BUILDDIR),$(1)))) | |||
32 | mkdepfile = $(shell \ | 35 | mkdepfile = $(shell \ |
33 | $(CC) $(PPCFLAGS) $(OTHER_INC) -MG -MM -include config.h $(2) | \ | 36 | $(CC) $(PPCFLAGS) $(OTHER_INC) -MG -MM -include config.h $(2) | \ |
34 | sed -e "s: lang.h: lang/lang_core.o:" \ | 37 | sed -e "s: lang.h: lang/lang_core.o:" \ |
38 | -e 's:_asmdefs.o:_asmdefs.h:' \ | ||
35 | -e "s: max_language_size.h: lang/max_language_size.h:" | \ | 39 | -e "s: max_language_size.h: lang/max_language_size.h:" | \ |
36 | $(TOOLSDIR)/addtargetdir.pl $(ROOTDIR) $(BUILDDIR) \ | 40 | $(TOOLSDIR)/addtargetdir.pl $(ROOTDIR) $(BUILDDIR) \ |
37 | >> $(1)_) | 41 | >> $(1)_) |
diff --git a/tools/root.make b/tools/root.make index 00586379c6..8a923983f9 100644 --- a/tools/root.make +++ b/tools/root.make | |||
@@ -51,8 +51,8 @@ endif | |||
51 | 51 | ||
52 | all: $(DEPFILE) build | 52 | all: $(DEPFILE) build |
53 | 53 | ||
54 | # Subdir makefiles. their primary purpose is to populate SRC & OTHER_SRC | 54 | # Subdir makefiles. their primary purpose is to populate SRC, OTHER_SRC & |
55 | # but they also define special dependencies and compile rules | 55 | # ASMDEFS_SRC but they also define special dependencies and compile rules |
56 | include $(TOOLSDIR)/tools.make | 56 | include $(TOOLSDIR)/tools.make |
57 | include $(FIRMDIR)/firmware.make | 57 | include $(FIRMDIR)/firmware.make |
58 | include $(ROOTDIR)/apps/bitmaps/bitmaps.make | 58 | include $(ROOTDIR)/apps/bitmaps/bitmaps.make |
@@ -96,6 +96,7 @@ $(DEPFILE) dep: | |||
96 | @echo foo > /dev/null # there must be a "real" command in the rule | 96 | @echo foo > /dev/null # there must be a "real" command in the rule |
97 | $(call mkdepfile,$(DEPFILE),$(SRC)) | 97 | $(call mkdepfile,$(DEPFILE),$(SRC)) |
98 | $(call mkdepfile,$(DEPFILE),$(OTHER_SRC)) | 98 | $(call mkdepfile,$(DEPFILE),$(OTHER_SRC)) |
99 | $(call mkdepfile,$(DEPFILE),$(ASMDEFS_SRC)) | ||
99 | @mv $(DEPFILE)_ $(DEPFILE) | 100 | @mv $(DEPFILE)_ $(DEPFILE) |
100 | $(call bmpdepfile,$(DEPFILE),$(BMP) $(PBMP)) | 101 | $(call bmpdepfile,$(DEPFILE),$(BMP) $(PBMP)) |
101 | 102 | ||
@@ -317,6 +318,12 @@ $(BUILDDIR)/%.o: $(ROOTDIR)/%.S | |||
317 | $(SILENT)mkdir -p $(dir $@) | 318 | $(SILENT)mkdir -p $(dir $@) |
318 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(CFLAGS) -c $< -o $@ | 319 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(CFLAGS) -c $< -o $@ |
319 | 320 | ||
321 | # generated definitions for use in .S files | ||
322 | $(BUILDDIR)/%_asmdefs.h: $(ROOTDIR)/%_asmdefs.c | ||
323 | $(call PRINTS,ASMDEFS $(@F)) | ||
324 | $(SILENT)mkdir -p $(dir $@) | ||
325 | $(call asmdefs2file,$<,$@) | ||
326 | |||
320 | # when source and object are both in BUILDDIR (generated code): | 327 | # when source and object are both in BUILDDIR (generated code): |
321 | %.o: %.c | 328 | %.o: %.c |
322 | $(SILENT)mkdir -p $(dir $@) | 329 | $(SILENT)mkdir -p $(dir $@) |