Newer
Older
cg / Makefile
@glproj03 glproj03 on 3 Feb 2006 1 KB glumodel to its own file - working
  1. PROGNAME := cg
  2.  
  3. SRCDIR := sources
  4. INCLUDEDIR := include
  5. BINDIR := bin
  6.  
  7. DEBUG := yes
  8.  
  9. VPATH = $(SRCDIR) $(INCLUDEDIR)
  10.  
  11. vpath %.cpp $(SRCDIR)
  12. vpath %.h $(INCLUDEDIR)
  13.  
  14. ifdef COMSPEC
  15. # windows
  16. CXX := g++
  17. CXXFLAGS := -Wall -I$(INCLUDEDIR) -Ic:/SDL/include
  18. LIBS := -Lc:/SDL/lib -lmingw32 -lSDLmain -lopengl32 -lglu32 -mwindows
  19. EXESUFFIX := .exe
  20. POSTLIBS := -lSDL -lopengl32 -lglu32
  21.  
  22. MKDIR := mkdir -p
  23. ECHO := echo
  24. RM := rm
  25. else
  26. # better than windows
  27. CXX := g++
  28. CXXFLAGS := -DUNIX -Wall `sdl-config --cflags` -I $(INCLUDEDIR)
  29. LIBS := `sdl-config --libs` -lGL -lGLU
  30. EXESUFFIX :=
  31. POSTLIBS :=
  32.  
  33. RM := rm -f
  34. ECHO := echo
  35. MKDIR := mkdir -p
  36. endif
  37.  
  38. ifeq "$(DEBUG)" "yes"
  39. CXXFLAGS := $(CXXFLAGS) -g -DDEBUG
  40. endif
  41.  
  42. OBJECTS = main.o poly.o model.o glumodel.o light.o vec.o material.o color.o thing.o animation.o
  43.  
  44. all: $(OBJECTS)
  45. @if [ ! -d $(BINDIR) ]; then \
  46. $(call run,$(MKDIR) $(BINDIR)); \
  47. fi
  48. $(CXX) $(CXXFLAGS) $(LIBS) $^ -o $(BINDIR)/$(PROGNAME)$(EXESUFFIX) $(POSTLIBS)
  49. run:
  50. $(BINDIR)/$(PROGNAME)$(EXESUFFIX)
  51. clean:
  52. $(RM) *.o
  53. distclean: clean
  54. $(RM) $(BINDIR)/$(PROGNAME)$(EXESUFFIX)
  55.  
  56. .PHONY: all
  57. .PHONY: clean
  58. .PHONY: distclean
  59.  
  60. run = $(ECHO) $(1); $(1) || exit $$?