]>
Commit | Line | Data |
---|---|---|
1 | # generic.env | |
2 | # Linux/generic | |
3 | # | |
4 | # Common makefile settings for wxWindows programs | |
5 | # This file is included by all the other makefiles, thus changes | |
6 | # made here take effect everywhere (except where overriden). | |
7 | # RCS-ID: $Id$ | |
8 | # | |
9 | ########################### Programs ################################# | |
10 | ||
11 | # Replace this with your own path if necessary | |
12 | WXDIR = $(WXWIN) | |
13 | ||
14 | # C++ compiler | |
15 | CC = g++ | |
16 | ||
17 | # C compiler | |
18 | CCC = gcc | |
19 | ||
20 | # Compiler for lex/yacc .c programs | |
21 | CCLEX = $(CCC) | |
22 | ||
23 | LEX = lex | |
24 | YACC = yacc | |
25 | # Note: if using bison, use -y option for yacc compatibility | |
26 | # YACC = bison -y | |
27 | MAKE = make | |
28 | AROPTIONS = ruv | |
29 | RANLIB = ranlib | |
30 | ||
31 | ############################ Switches ################################# | |
32 | ||
33 | # Debug/trace mode. 1 or more for debugging. | |
34 | DEBUG = 1 | |
35 | GUI = -D__WXSTUBS__ -D__UNIX__ | |
36 | GUISUFFIX = _stubs | |
37 | ||
38 | ########################## Compiler flags ############################# | |
39 | ||
40 | # Misc options | |
41 | OPTIONS = -D__LINUX__ -D__WXDEBUG__ | |
42 | COPTIONS = | |
43 | DEBUGFLAGS = # -ggdb | |
44 | INCLUDE = | |
45 | WARN = -Wall -Wno-unused # -w | |
46 | CWARN = -Wall -Wno-unused # -w | |
47 | OPT = -O2 | |
48 | ||
49 | ############################ Includes ################################# | |
50 | ||
51 | # Compiler or system-specific include paths | |
52 | COMPPATHS = | |
53 | XINCLUDE = -I/usr/openwin/include -I/usr/include/X11 -I/usr/include/Xm \ | |
54 | -I/usr/include/X11/Xm -I/usr/include -I/usr/local/include \ | |
55 | -I/usr/lib/glib/include -I/usr/local/lib/glib/include | |
56 | XLIB = -L/usr/local/X11/lib -L/usr/openwin/lib -L/usr/X11/lib -L/usr/X11R6/lib | |
57 | ||
58 | ############################ Libraries ################################ | |
59 | ||
60 | COMPLIBS = -lstdc++ | |
61 | GUILDLIBS = -lwx_stubs $(COMPLIBS) -lXm -lXmu -lXt -lXpm -lX11 -lm | |
62 | ||
63 | ############################# Suffixes ################################ | |
64 | ||
65 | # Change cpp to c if you want to use main.c instead of main.cpp. | |
66 | # Edit wx_setup.h accordingly (USE_C_MAIN=1) | |
67 | ||
68 | OBJSUFF =o | |
69 | SRCSUFF =cpp | |
70 | MAINSUFF =cpp | |
71 | ||
72 | ####################### No changes below this line #################### | |
73 | ||
74 | WXINC = $(WXDIR)/include | |
75 | WXLIB = $(WXDIR)/lib/libwx$(GUISUFFIX).a | |
76 | INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib $(COMPPATHS) | |
77 | ||
78 | # Directory for object files | |
79 | OBJDIR = objects$(GUISUFFIX) | |
80 | ||
81 | CPPFLAGS = $(EXTRACPPFLAGS) $(INC) $(XINCLUDE) $(OPTIONS) $(GUI) $(DEBUGFLAGS) $(WARN) $(OPT) | |
82 | CFLAGS = $(EXTRACFLAGS) $(INC) $(XINCLUDE) $(COPTIONS) $(GUI) $(DEBUGFLAGS) $(CWARN) $(OPT) | |
83 | LDFLAGS = $(EXTRALDFLAGS) $(XLIB) -L$(WXDIR)/lib | |
84 | LDLIBS = $(EXTRALDLIBS) $(GUILDLIBS) | |
85 | ||
86 | # Clears all default suffixes | |
87 | .SUFFIXES: .o .cpp .c | |
88 | ||
89 | .c.o : | |
90 | $(CCC) -c $(CFLAGS) -o $@ $< | |
91 | ||
92 | .cpp.o : | |
93 | $(CC) -c $(CPPFLAGS) -o $@ $< | |
94 | ||
95 | .C.o : | |
96 | $(CC) -c $(CPPFLAGS) -o $@ $< | |
97 | ||
98 | ####################### Targets to allow multiple GUIs #################### | |
99 | ||
100 | dummy: | |
101 | echo Use a target: one of motif, stubs | |
102 | ||
103 | stubs: | |
104 | make -f makefile.unx all GUI='-D__WXSTUBS__ -D__UNIX__' GUISUFFIX='_stubs' GUILDLIBS='-lwx_stubs $(COMPLIBS) -lXm -lXmu -lXt -lX11 -lm' | |
105 | ||
106 | motif: | |
107 | make -f makefile.unx all GUI='-D__WXMOTIF__ -D__UNIX__' GUISUFFIX='_motif' GUILDLIBS='-lwx_motif $(COMPLIBS) -lpng -lzlib -lXm -lXmu -lXt -lXpm -lX11 -lm' | |
108 | ||
109 | gtk: | |
110 | make -f makefile.unx all GUI='-D__WXGTK__ -D__UNIX__' GUISUFFIX='_gtk' GUILDLIBS='-lwx_gtk $(COMPLIBS) -ldl `gtk-config --libs` -lX11 -lm -pthread' | |
111 | ||
112 | cleanstubs: | |
113 | make -f makefile.unx clean GUI='-D__WXSTUBS__ -D__UNIX__' GUISUFFIX='_stubs' GUILDLIBS='-lwx_stubs $(COMPLIBS) -lXm -lXmu -lXt -lX11 -lm' | |
114 | ||
115 | cleanmotif: | |
116 | make -f makefile.unx clean GUI='-D__WXMOTIF__ -D__UNIX__' GUISUFFIX='_motif' GUILDLIBS='-lwx_motif $(COMPLIBS) -lXm -lXmu -lXt -lX11 -lm' | |
117 | ||
118 | cleangtk: | |
119 | make -f makefile.unx clean GUI='-D__WXGTK__ -D__UNIX__' GUISUFFIX='_gtk' | |
120 | ||
121 | $(OBJDIR): | |
122 | mkdir $(OBJDIR) | |
123 |