thrive/Makefile
2025-01-31 14:27:39 -05:00

72 lines
2.0 KiB
Makefile

CC=gcc
CFLAGS=-Wall -lraylib -lm -lpthread -ldl -lX11
WIN_CC=x86_64-w64-mingw32-gcc
WIN_LIB=-Llib -Iinclude -Wall -lraylib -lopengl32 -lgdi32 -lwinmm -lcomdlg32 -lole32
WIN_CFLAGS=-Wall -lraylib -lm -lpthread
GAME=fatal_text_adventure
DATA_C=data/actions.c data/rooms.c data/room_ins.c data/words.c data/flags.c data/items.c
BUTLER=./butler/butler
ITCH_CHANNEL=thrive
ITCH_CHANNEL_LINUX=$(ITCH_CHANNEL)-linux-x64
ITCH_CHANNEL_WINDOWS=$(ITCH_CHANNEL)-windows-x64
ITCH_CHANNEL_MAC=$(ITCH_CHANNEL)-mac
.PHONY: clean run butler_upload
$(GAME)_linux: $(DATA_C) *.c
$(CC) *.c $(CFLAGS) -o $(GAME)_linux
$(GAME)_linux: $(DATA_C) *.c
$(CC) *.c $(CFLAGS) -o $(GAME)_mac
$(GAME)_windows.exe: $(DATA_C) *.c
$(WIN_CC) *.c $(WIN_LIB) $(WIN_CFLAGS) -o $(GAME)_windows.exe
data/%.c: data/%.txt
echo "char *data_$*_txt = " > data/$*.c
cat data/$*.txt | \
perl -pe 's/ *\| */|/g' | \
perl -pe 's/^/"/' | \
perl -pe 's/$$/\\n"/' >> data/$*.c
echo ";" >> data/$*.c
run: $(GAME)_linux
SKIP_INTRO=1 ./$(GAME)_linux
run_mac: $(GAME)_mac
SKIP_INTRO=1 ./$(GAME)_mac
run_win: $(GAME)_windows.exe
SKIP_INTRO=1 wine $(GAME)_windows.exe
clean:
rm -f ./$(GAME)_linux
rm -f ./$(GAME)_linux.zip
rm -f ./$(GAME)_windows.exe
rm -f ./$(GAME)_windows.zip
rm -f ./$(GAME)_mac
rm -f ./$(GAME)_mac.zip
rm -f ./data/*.c
$(GAME)_linux.zip: $(GAME)_linux
rm -f ./$(GAME)_linux.zip
zip -r $(GAME)_linux.zip $(GAME)_linux img/*.png
$(GAME)_windows.zip: $(GAME)_windows.exe
rm -f ./$(GAME)_windows.zip
zip -r $(GAME)_windows.zip $(GAME)_windows.exe img/*.png
$(GAME)_mac.zip: $(GAME)_mac
rm -f ./$(GAME)_mac.zip
zip -r $(GAME)_mac.zip $(GAME)_mac img/*.png
butler_upload: $(GAME)_linux.zip $(GAME)_windows.zip
$(BUTLER) push ./$(GAME)_linux.zip bassguitarbill/$(ITCH_CHANNEL):$(ITCH_CHANNEL_LINUX)
$(BUTLER) push ./$(GAME)_windows.zip bassguitarbill/$(ITCH_CHANNEL):$(ITCH_CHANNEL_WINDOWS)
butler_upload_mac: $(GAME)_mac.zip
$(BUTLER) push ./$(GAME)_mac.zip bassguitarbill/$(ITCH_CHANNEL):$(ITCH_CHANNEL_MAC)