From 9f75a8d527b617c72fd2dceffca293fdc4e1be7e Mon Sep 17 00:00:00 2001 From: Simon Owen Date: Mon, 3 Jun 2013 22:32:49 +0100 Subject: [PATCH] Build system improvements - added 'make run' rule to help with testing - preserved pasmo exit code on Win32 assembly failure - fixed Win32 clean rule so it removes all files cleanly - easier to change target basename --- Makefile | 24 ++++++++++++++++-------- Makefile-dist | 8 ++++---- make.bat | 14 ++++++++++---- make.bat-dist | 9 ++++++--- 4 files changed, 36 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index 66d9b84..74270de 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,11 @@ -TAPE=pacemuzx.tap +NAME=pacemuzx ROMS=pacman.6e pacman.6f pacman.6h pacman.6j +UNAME := $(shell uname -s) .PHONY: dist clean -$(TAPE): loader.tap pacemuzx.o - cat loader.tap pacemuzx.o > $@ +$(NAME).tap: loader.tap $(NAME).o + cat loader.tap $(NAME).o > $@ tiles.bin: tiles.png ./png2bin.pl $< 6 @@ -12,19 +13,26 @@ tiles.bin: tiles.png sprites.bin: sprites.png ./png2bin.pl $< 12 -pacemuzx.o: pacemuzx.asm tiles.bin sprites.bin $(ROMS) - pasmo --tap pacemuzx.asm pacemuzx.o pacemuzx.sym +$(NAME).o: $(NAME).asm tiles.bin sprites.bin $(ROMS) + pasmo --tap $(NAME).asm $(NAME).o $(NAME).sym -dist: $(TAPE) +run: $(NAME).tap +ifeq ($(UNAME),Darwin) + open $(NAME).tap +else + xdg-open $(NAME).tap +endif + +dist: $(NAME).tap rm -rf dist mkdir dist cp ReadMe.txt dist/ cp Makefile-dist dist/Makefile cp make.bat-dist dist/make.bat - ./remove_rom.pl $(TAPE) + ./remove_rom.pl $(NAME).tap mv start.part end.part dist/ clean: - rm -f $(TAPE) pacemuzx.sym pacemuzx.o + rm -f $(NAME).tap $(NAME).sym $(NAME).o rm -f tiles.bin sprites.bin start.part end.part rm -rf dist diff --git a/Makefile-dist b/Makefile-dist index 7db91cf..84b19a3 100644 --- a/Makefile-dist +++ b/Makefile-dist @@ -1,8 +1,8 @@ -TAPE=pacemuzx.tap +NAME=pacemuzx ROMS=pacman.6e pacman.6f pacman.6h pacman.6j -$(TAPE): start.part $(ROMS) end.part - cat start.part $(ROMS) end.part > $(TAPE) +$(NAME).tap: start.part $(ROMS) end.part + cat start.part $(ROMS) end.part > $(NAME).tap clean: - rm -f $(TAPE) + rm -f $(NAME).tap diff --git a/make.bat b/make.bat index 3ce80f6..fc4cc62 100644 --- a/make.bat +++ b/make.bat @@ -1,13 +1,17 @@ @echo off +setlocal +set NAME=pacemuzx if "%1"=="clean" goto clean png2bin.pl tiles.png 6 png2bin.pl sprites.png 12 -pasmo --tap pacemuzx.asm pacemuzx.o pacemuzx.sym +pasmo --tap %NAME%.asm %NAME%.o %NAME%.sym +if errorlevel 1 goto end -copy /b loader.tap+pacemuzx.o pacemuzx.tap +copy /b loader.tap+%NAME%.o %NAME%.tap +if "%1"=="run" start %NAME%.tap if not "%1"=="dist" goto end @@ -21,9 +25,11 @@ move end.part dist\ goto end :clean -if exist pacemuzx.tap del pacemuzx.tap pacemuzx.sym pacemuzx.o +if exist %NAME%.tap del %NAME%.tap %NAME%.sym %NAME%.o if exist tiles.bin del tiles.bin sprites.bin -if exist dist\ del dist\Makefile dist\make.bat dist\start.part dist\end.part dist\pacemuzx.tap +if exist dist\ del dist\ReadMe.txt dist\Makefile dist\make.bat dist\start.part dist\end.part +if exist dist\%NAME%.tap del dist\%NAME%.tap if exist dist\ rmdir dist :end +endlocal diff --git a/make.bat-dist b/make.bat-dist index 802cbeb..9350e35 100644 --- a/make.bat-dist +++ b/make.bat-dist @@ -1,4 +1,6 @@ @echo off +setlocal +set NAME=pacemuzx if not exist pacman.6e goto missing if not exist pacman.6f goto missing @@ -15,7 +17,7 @@ echo must provide your own copies of: echo. echo pacman.6e pacman.6f pacman.6h pacman.6j echo. -echo Copy them to this directory and re-run to generate: pacemuzx.tap +echo Copy them to this directory and re-run to generate: %NAME%.tap echo. echo **************************************************************** echo. @@ -23,8 +25,9 @@ pause goto end :got_roms -copy /b start.part+pacman.6e+pacman.6f+pacman.6h+pacman.6j+end.part pacemuzx.tap +copy /b start.part+pacman.6e+pacman.6f+pacman.6h+pacman.6j+end.part %NAME%.tap -start pacemuzx.tap +start %NAME%.tap :end +endlocal