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)