INC := -I include CFLAGS := -Wall CFLAGS += -Wextra CFLAGS += -Wpointer-arith CFLAGS += -Wcast-align CFLAGS += -Wwrite-strings CFLAGS += -Wswitch-default CFLAGS += -Wunreachable-code CFLAGS += -Winit-self CFLAGS += -Wmissing-field-initializers CFLAGS += -Wno-unknown-pragmas CFLAGS += -Wundef CFLAGS += -Wold-style-definition all: compile link compile: gcc $(CFLAGS) $(INC) -c -o build/main.o src/main.c gcc $(CFLAGS) $(INC) -c -o build/Common.o src/Common.c gcc $(CFLAGS) $(INC) -c -o build/Integrated.o src/Integrated.c gcc $(CFLAGS) $(INC) -c -o build/Pish.o src/Pish.c link: gcc -o bin/pish.out build/*.o exec: compile link ./bin/pish.out debug: clean debugCompile debugLink debugCompile: gcc $(CFLAGS) $(INC) -g -c -o build/main.o src/main.c gcc $(CFLAGS) $(INC) -g -c -o build/Integrated.o src/Integrated.c gcc $(CFLAGS) $(INC) -g -c -o build/Common.o src/Common.c gcc $(CFLAGS) $(INC) -g -c -o build/Pish.o src/Pish.c debugLink: gcc -g -o bin/pish.out build/*.o clean: rm build/*.o rm bin/*.out