Makefile 854 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. DEMO=platformer
  2. CC=gcc
  3. INCS= -I ./include -I ../../include
  4. CFLAGS= $(INCS) -std=gnu99 -Wall -Werror -Wno-unused -O3 -g
  5. C_FILES= $(wildcard src/*.c)
  6. OBJ_FILES= $(addprefix obj/,$(notdir $(C_FILES:.c=.o)))
  7. PLATFORM = $(shell uname)
  8. ifeq ($(findstring Linux,$(PLATFORM)),Linux)
  9. OUT=$(DEMO)
  10. LFLAGS=-L../../ -lcorange -lGL -lSDL2 -lSDL2_net -lSDL2_mixer -lm
  11. endif
  12. ifeq ($(findstring Darwin,$(PLATFORM)),Darwin)
  13. OUT=$(DEMO)
  14. LFLAGS=-L../../ -lcorange -framework OpenGL -lSDLmain -lSDL2
  15. endif
  16. ifeq ($(findstring MINGW,$(PLATFORM)),MINGW)
  17. OUT=$(DEMO).exe
  18. LFLAGS=-L../../ ../../corange.res -lcorange -lmingw32 -lSDL2main -lSDL2 -lSDL2_Mixer -lSDL2_Net -lopengl32
  19. endif
  20. $(OUT): $(OBJ_FILES)
  21. $(CC) -g $(OBJ_FILES) $(LFLAGS) -o $@
  22. obj/%.o: src/%.c | obj
  23. $(CC) $< -c $(CFLAGS) -o $@
  24. obj:
  25. mkdir obj
  26. lib:
  27. mkdir lib
  28. clean:
  29. rm $(OUT) $(OBJ_FILES)