# common CC := gcc CFLAGS := -Wpedantic -s -O2 -Wall -I. LDFLAGS := # only for the vm SDL2_CONFIG := sdl2-config LIBS := `$(SDL2_CONFIG) --libs` -lSDL2_mixer all: tr8as tr8vm tr8vm: tr8vm.c vm.o vm.h $(CC) -std=c99 $(CFLAGS) `$(SDL2_CONFIG) --cflags` $< vm.o `$(SDL2_CONFIG) --libs` $(LIBS) -o $@ tr8as: tr8as.c stb_image.o $(CC) -std=c99 $(CFLAGS) -DDO_MAIN $< stb_image.o -o $@ -lm vm.o: vm.c vm.h $(CC) -c -std=c89 $(CFLAGS) $< -o $@ stb_image.o: stb_image.c stb_image.h $(CC) -c -std=c99 $(CFLAGS) $< -o $@ example: example.tr8 tr8vm ./tr8vm example.tr8 game: make -C game run example.tr8: example.asm assets/icon.png tr8as ./tr8as example.asm example.tr8 clean: make -C game clean rm -f tr8as tr8vm example.tr8 *.o .PHONY: clean all example game