| ... | ... |
@@ -1,10 +1,9 @@ |
| 1 | 1 |
</$objtype/mkfile |
| 2 | 2 |
|
| 3 |
-TARG=assembler debugger emulator |
|
| 4 |
-USM=`{walk -f projects/ | grep '\.usm$' | grep -v blank.usm | grep -v asma.usm}
|
|
| 3 |
+TARG=bin/debugger bin/uxnasm bin/uxnemu |
|
| 4 |
+USM=`{walk -f projects/ | grep '\.usm$' | grep -v blank.usm}
|
|
| 5 | 5 |
ROM=${USM:%.usm=%.rom}
|
| 6 | 6 |
CFLAGS=$CFLAGS -I/sys/include/npe |
| 7 |
-BIN=/$objtype/bin/uxn |
|
| 8 | 7 |
HFILES=\ |
| 9 | 8 |
/sys/include/npe/stdio.h\ |
| 10 | 9 |
src/devices/apu.h\ |
| ... | ... |
@@ -12,13 +11,14 @@ HFILES=\ |
| 12 | 11 |
src/devices/ppu.h\ |
| 13 | 12 |
src/uxn.h\ |
| 14 | 13 |
|
| 15 |
-CLEANFILES=${TARG:%=bin/%} `{echo $ROM | sed 's,([^ /]+/)+,bin/,g'}
|
|
| 14 |
+CLEANFILES=$TARG $ROM |
|
| 16 | 15 |
|
| 17 | 16 |
default:V: all |
| 18 | 17 |
|
| 19 |
-all:V: ${TARG:%=bin/%} $ROM
|
|
| 18 |
+all:V: bin $TARG $ROM |
|
| 20 | 19 |
|
| 21 |
-</sys/src/cmd/mkmany |
|
| 20 |
+bin: |
|
| 21 |
+ mkdir -p bin |
|
| 22 | 22 |
|
| 23 | 23 |
/sys/include/npe/stdio.h: |
| 24 | 24 |
hget https://git.sr.ht/~ft/npe/archive/master.tar.gz | tar xz && |
| ... | ... |
@@ -26,26 +26,31 @@ all:V: ${TARG:%=bin/%} $ROM
|
| 26 | 26 |
mk install && |
| 27 | 27 |
rm -r npe-master |
| 28 | 28 |
|
| 29 |
-%.rom: %.usm bin/assembler |
|
| 30 |
- bin/assembler $stem.usm $target && cp $target bin/ |
|
| 29 |
+%.rom:Q: %.usm bin/uxnasm |
|
| 30 |
+ bin/uxnasm $stem.usm $target >/dev/null |
|
| 31 | 31 |
|
| 32 |
-bin/assembler:Q: $O.assembler |
|
| 33 |
- mkdir -p bin && cp $prereq $target |
|
| 32 |
+bin/debugger: debugger.$O uxn.$O |
|
| 33 |
+ $LD -o $target $prereq |
|
| 34 | 34 |
|
| 35 |
-bin/debugger:Q: $O.debugger |
|
| 36 |
- mkdir -p bin && cp $prereq $target |
|
| 35 |
+bin/uxnasm: assembler.$O |
|
| 36 |
+ $LD -o $target $prereq |
|
| 37 | 37 |
|
| 38 |
-bin/emulator:Q: $O.emulator |
|
| 39 |
- mkdir -p bin && cp $prereq $target |
|
| 40 |
- |
|
| 41 |
-$O.assembler: assembler.$O |
|
| 42 |
- |
|
| 43 |
-$O.debugger: debugger.$O uxn.$O |
|
| 44 |
- |
|
| 45 |
-$O.emulator: emulator.$O apu.$O mpu.$O ppu.$O uxn.$O |
|
| 38 |
+bin/uxnemu: emulator.$O apu.$O mpu.$O ppu.$O uxn.$O |
|
| 39 |
+ $LD -o $target $prereq |
|
| 46 | 40 |
|
| 47 | 41 |
(assembler|debugger|emulator|uxn)\.$O:R: src/\1.c |
| 48 | 42 |
$CC $CFLAGS -Isrc -o $target src/$stem1.c |
| 49 | 43 |
|
| 50 | 44 |
(apu|mpu|ppu)\.$O:R: src/devices/\1.c |
| 51 | 45 |
$CC $CFLAGS -Isrc -o $target src/devices/$stem1.c |
| 46 |
+ |
|
| 47 |
+nuke:V: clean |
|
| 48 |
+ |
|
| 49 |
+clean:V: |
|
| 50 |
+ rm -f *.[$OS] [$OS].??* $TARG $CLEANFILES |
|
| 51 |
+ |
|
| 52 |
+%.clean:V: |
|
| 53 |
+ rm -f $stem.[$OS] [$OS].$stem $stem |
|
| 54 |
+ |
|
| 55 |
+install:QV: all |
|
| 56 |
+ exit 'Sorry, there is no install rule yet' |