1####### Compiler, tools and options
2
3
4#---- Release
5CXXCFG   	= -O3
6LFLAGS		= -L../lib
7OUT_DIR		= bin64
8#---- Debug
9#CXXCFG   	= -g -D_DEBUG
10#LFLAGS		= -Wl -L../lib/debug64
11#OUT_DIR	= debug64
12
13
14CXX      	= g++
15CXXFLAGS 	= $(CXXCFG) -Wall -fno-strict-aliasing
16INCPATH  	= -I../include -I/usr/local/include -I/usr/X11R6/include -I/usr/include
17LIBS     	= -L/usr/X11R6/lib -lAntTweakBar -lGL -lGLU -lX11 -lXext -lXmu -lXrandr -lpthread -lm
18
19DEL_FILE 	= rm -f
20DEL_DIR  	= rmdir
21NO_STDERR	= 2> /dev/null
22EXP_SH      = '\#!/bin/sh'
23EXP_PATH	= 'export LD_LIBRARY_PATH=`dirname $$0`/../../lib ; $$0.out'
24
25####### Files
26
27
28SRC_FILES	= TwSimpleGLFW.c TwSimpleGLUT.c TwSimpleSDL.c TwAdvanced1.cpp TwString.cpp TwDualGLUT.c
29
30
31####### Build rules
32
33
34#first:	depend all
35first:  all
36
37all: 	Makefile $(SRC_FILES)
38
39	@echo "===== Build TwSimpleGLUT ===="
40	$(CXX) $(CXXFLAGS) $(INCPATH) TwSimpleGLUT.c $(LFLAGS) -lglut $(LIBS) -o $(OUT_DIR)/TwSimpleGLUT.out
41	@echo $(EXP_SH) > $(OUT_DIR)/TwSimpleGLUT
42	@echo $(EXP_PATH) >> $(OUT_DIR)/TwSimpleGLUT
43	@chmod +x $(OUT_DIR)/TwSimpleGLUT
44	@echo "To execute the example, run " $(OUT_DIR)/TwSimpleGLUT
45
46	@echo "===== Build TwSimpleSDL ===="
47	$(CXX) $(CXXFLAGS) $(INCPATH) TwSimpleSDL.c $(LFLAGS) -lSDL $(LIBS) -o $(OUT_DIR)/TwSimpleSDL.out
48	@echo $(EXP_SH) > $(OUT_DIR)/TwSimpleSDL
49	@echo $(EXP_PATH) >> $(OUT_DIR)/TwSimpleSDL
50	@chmod +x $(OUT_DIR)/TwSimpleSDL
51	@echo "To execute the example, run " $(OUT_DIR)/TwSimpleSDL
52
53	@echo "===== Build TwSimpleGLFW ===="
54	$(CXX) $(CXXFLAGS) $(INCPATH) TwSimpleGLFW.c $(LFLAGS) -lglfw $(LIBS) -o $(OUT_DIR)/TwSimpleGLFW.out
55	@echo $(EXP_SH) > $(OUT_DIR)/TwSimpleGLFW
56	@echo $(EXP_PATH) >> $(OUT_DIR)/TwSimpleGLFW
57	@chmod +x $(OUT_DIR)/TwSimpleGLFW
58	@echo "To execute the example, run " $(OUT_DIR)/TwSimpleGLFW
59
60	@echo "===== Build TwDualGLUT ===="
61	$(CXX) $(CXXFLAGS) $(INCPATH) TwDualGLUT.c $(LFLAGS) -lglut $(LIBS) -o $(OUT_DIR)/TwDualGLUT.out
62	@echo $(EXP_SH) > $(OUT_DIR)/TwDualGLUT
63	@echo $(EXP_PATH) >> $(OUT_DIR)/TwDualGLUT
64	@chmod +x $(OUT_DIR)/TwDualGLUT
65	@echo "To execute the example, run " $(OUT_DIR)/TwDualGLUT
66
67	@echo "===== Build TwAdvanced1 ===="
68	$(CXX) $(CXXFLAGS) $(INCPATH) TwAdvanced1.cpp $(LFLAGS) -lglfw $(LIBS) -o $(OUT_DIR)/TwAdvanced1.out
69	@echo $(EXP_SH) > $(OUT_DIR)/TwAdvanced1
70	@echo $(EXP_PATH) >> $(OUT_DIR)/TwAdvanced1
71	@chmod +x $(OUT_DIR)/TwAdvanced1
72	@echo "To execute the example, run " $(OUT_DIR)/TwAdvanced1
73
74	@echo "===== Build TwString ===="
75	$(CXX) $(CXXFLAGS) $(INCPATH) TwString.cpp $(LFLAGS) -lglut $(LIBS) -o $(OUT_DIR)/TwString.out
76	@echo $(EXP_SH) > $(OUT_DIR)/TwString
77	@echo $(EXP_PATH) >> $(OUT_DIR)/TwString
78	@chmod +x $(OUT_DIR)/TwString
79	@echo "To execute the example, run " $(OUT_DIR)/TwString
80
81# append dependencies to this Makefile
82#depend:
83#	@echo "===== Make dependencies ====="
84#	makedepend -Y
85#	makedepend -a -Y -- $(CXXFLAGS) $(INCPATH) -- $(SRC_FILES) $(NO_STDERR)
86
87
88# clean temporary files
89clean:
90	@echo "===== Clean ====="
91	-$(DEL_FILE) *.o
92	-$(DEL_FILE) *~ core *.core *.stackdump
93	-$(DEL_FILE) debug64/*
94	-$(DEL_DIR) debug64
95
96
97####### DEPENDENCIES
98
99TwSimpleGLFW.o: ../include/AntTweakBar.h
100TwSimpleGLUT.o: ../include/AntTweakBar.h
101TwDualGLUT.o:   ../include/AntTweakBar.h
102TwSimpleSDL.o:  ../include/AntTweakBar.h
103TwAdvanced1.o:  ../include/AntTweakBar.h
104TwString.o:     ../include/AntTweakBar.h
105