1####### Compiler, tools and options
2
3#---- LINUX
4SO_EXT		= .so
5SO_VERSION	= 1
6AR_EXT		= .a
7
8#---- Release
9CXXCFG   	= -O3
10LFLAGS		=
11OUT_DIR		= ../lib
12#---- Debug
13#CXXCFG   	= -g -D_DEBUG
14#LFLAGS		=
15#OUT_DIR	= ../lib/debug
16
17
18CXX      	= gcc
19CXXFLAGS 	= $(CXXCFG) -Wall -fPIC -fno-strict-aliasing -D_UNIX -D__PLACEMENT_NEW_INLINE
20INCPATH  	= -I../include -I/usr/local/include -I/usr/X11R6/include -I/usr/include
21LINK     	= gcc
22#LIBS     	= -L/usr/X11R6/lib -L. -lglfw -lGL -lGLU -lX11 -lXxf86vm -lXext -lpthread -lm
23#LIBS     	= -L/usr/X11R6/lib -lGL -lX11 -lXxf86vm -lXext -lpthread -lm
24LIBS 		=
25AR       	= ar cqs
26RANLIB   	=
27TAR      	= tar -cf
28GZIP     	= gzip -9f
29COPY     	= cp -f
30COPY_FILE	= $(COPY) -p
31COPY_DIR 	= $(COPY) -pR
32DEL_FILE 	= rm -f
33SYMLINK  	= ln -sf
34DEL_DIR  	= rmdir
35MOVE     	= mv
36NO_STDERR	= 2> /dev/null
37
38
39####### Files
40
41
42# name of the application:
43TARGET 		= AntTweakBar
44
45# source files without extension:
46SRC_FILES	= TwColors.cpp TwFonts.cpp TwOpenGL.cpp TwOpenGLCore.cpp TwBar.cpp TwMgr.cpp TwPrecomp.cpp LoadOGL.cpp LoadOGLCore.cpp TwEventGLFW.c TwEventGLUT.c TwEventSDL.c TwEventSDL12.c TwEventSDL13.c TwEventSFML.cpp TwEventX11.c
47
48# build object list from source files
49OBJS_1 		= $(SRC_FILES:.c=.o)
50OBJS 		= $(OBJS_1:.cpp=.o)
51
52
53####### Build rules
54
55
56#first:	depend all
57first:	all
58
59all: 	Makefile $(TARGET)
60
61# append dependencies to this Makefile
62#depend:
63#	@echo "==== Make dependencies ====="
64#	makedepend -Y
65#	makedepend -a -Y -- $(CXXFLAGS) $(INCPATH) -- $(SRC_FILES) $(NO_STDERR)
66
67$(TARGET): $(OBJS)
68	@echo "===== Link $@ ====="
69	$(LINK) $(LFLAGS) -shared -Wl,-soname,lib$(TARGET)$(SO_EXT).$(SO_VERSION) -o $(OUT_DIR)/lib$(TARGET)$(SO_EXT) $(OBJS) $(LIBS) $(LDFLAGS)
70	$(SYMLINK) $(OUT_DIR)/lib$(TARGET)$(SO_EXT) $(OUT_DIR)/lib$(TARGET)$(SO_EXT).$(SO_VERSION)
71	$(AR) $(OUT_DIR)/lib$(TARGET)$(AR_EXT) $(OBJS) $(LIBS)
72
73.cpp.o:
74	@echo "===== Compile $< ====="
75	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
76
77.c.o:
78	@echo "===== Compile $< ====="
79	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
80
81clean:
82	@echo "===== Clean ====="
83	-$(DEL_FILE) *.o
84	-$(DEL_FILE) *~ core *.core *.stackdump
85
86
87####### DEPENDENCIES
88
89TwColors.o:    TwPrecomp.h TwColors.h
90TwFonts.o:     TwPrecomp.h ../include/AntTweakBar.h TwFonts.h TwMgr.h TwColors.h TwGraph.h AntPerfTimer.h
91TwOpenGL.o:    TwPrecomp.h ../include/AntTweakBar.h TwOpenGL.h LoadOGL.h TwGraph.h TwColors.h TwFonts.h TwMgr.h AntPerfTimer.h
92TwOpenGLCore.o: TwPrecomp.h ../include/AntTweakBar.h TwOpenGLCore.h LoadOGLCore.h TwGraph.h TwColors.h TwFonts.h TwMgr.h AntPerfTimer.h
93TwBar.o:       TwPrecomp.h ../include/AntTweakBar.h TwBar.h TwMgr.h TwColors.h TwFonts.h TwGraph.h AntPerfTimer.h
94TwMgr.o:       TwPrecomp.h ../include/AntTweakBar.h TwMgr.h TwColors.h TwFonts.h TwGraph.h AntPerfTimer.h TwBar.h TwOpenGL.h res/TwXCursors.h
95TwPrecomp.o:   TwPrecomp.h
96LoadOGL.o:     TwPrecomp.h LoadOGL.h
97TwEventGLFW.o: ../include/AntTweakBar.h MiniGLFW.h
98TwEventGLUT.o: ../include/AntTweakBar.h MiniGLUT.h
99TwEventSDL.o:  ../include/AntTweakBar.h
100TwEventSDL12.o:  ../include/AntTweakBar.h MiniSDL12.h
101TwEventSDL13.o:  ../include/AntTweakBar.h MiniSDL13.h
102TwEventX11.o:  ../include/AntTweakBar.h
103