# Compiler flags CFLAGS := -w -m32 # Compile selfie.c into selfie executable selfie: selfie.c gcc $(CFLAGS) $< -o $@ # Consider these targets as targets, not files .PHONY : test clean # Test self-compilation, self-execution, and self-hosting test: selfie .\selfie -c selfie.c -o selfie1.m -s selfie1.s -m 2 -c selfie.c -o selfie2.m -s selfie2.s fc.exe selfie1.m selfie2.m fc.exe selfie1.s selfie2.s .\selfie -c selfie.c -o selfie.m -m 2 -l selfie.m -m 1 .\selfie -c selfie.c -o selfie3.m -s selfie3.s -y 8 -l selfie3.m -y 4 -l selfie3.m -y 2 -c selfie.c -o selfie4.m -s selfie4.s fc.exe selfie3.m selfie4.m fc.exe selfie3.s selfie4.s fc.exe selfie1.m selfie3.m fc.exe selfie1.s selfie3.s # Clean up clean: del *.m del *.s del selfie.exe