| 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 |
| 55 | XLIB = -L/usr/local/X11/lib -L/usr/openwin/lib -L/usr/X11/lib -L/usr/X11R6/lib |
| 56 | |
| 57 | ############################ Libraries ################################ |
| 58 | |
| 59 | COMPLIBS = -lstdc++ |
| 60 | GUILDLIBS = -lwx_stubs $(COMPLIBS) -lXm -lXmu -lXt -lXpm -lX11 -lm |
| 61 | |
| 62 | ############################# Suffixes ################################ |
| 63 | |
| 64 | # Change cpp to c if you want to use main.c instead of main.cpp. |
| 65 | # Edit wx_setup.h accordingly (USE_C_MAIN=1) |
| 66 | |
| 67 | OBJSUFF =o |
| 68 | SRCSUFF =cpp |
| 69 | MAINSUFF =cpp |
| 70 | |
| 71 | ####################### No changes below this line #################### |
| 72 | |
| 73 | WXINC = $(WXDIR)/include |
| 74 | WXLIB = $(WXDIR)/lib/libwx$(GUISUFFIX).a |
| 75 | INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/zlib $(COMPPATHS) |
| 76 | |
| 77 | # Directory for object files |
| 78 | OBJDIR = objects$(GUISUFFIX) |
| 79 | |
| 80 | CPPFLAGS = $(EXTRACPPFLAGS) $(INC) $(XINCLUDE) $(OPTIONS) $(GUI) $(DEBUGFLAGS) $(WARN) $(OPT) |
| 81 | CFLAGS = $(EXTRACFLAGS) $(INC) $(XINCLUDE) $(COPTIONS) $(GUI) $(DEBUGFLAGS) $(CWARN) $(OPT) |
| 82 | LDFLAGS = $(EXTRALDFLAGS) $(XLIB) -L$(WXDIR)/lib |
| 83 | LDLIBS = $(EXTRALDLIBS) $(GUILDLIBS) |
| 84 | |
| 85 | # Clears all default suffixes |
| 86 | .SUFFIXES: .o .cpp .c |
| 87 | |
| 88 | .c.o : |
| 89 | $(CCC) -c $(CFLAGS) -o $@ $< |
| 90 | |
| 91 | .cpp.o : |
| 92 | $(CC) -c $(CPPFLAGS) -o $@ $< |
| 93 | |
| 94 | .C.o : |
| 95 | $(CC) -c $(CPPFLAGS) -o $@ $< |
| 96 | |
| 97 | ####################### Targets to allow multiple GUIs #################### |
| 98 | |
| 99 | dummy: |
| 100 | echo Use a target: one of motif, stubs |
| 101 | |
| 102 | stubs: |
| 103 | make -f makefile.unx all GUI='-D__WXSTUBS__ -D__UNIX__' GUISUFFIX='_stubs' GUILDLIBS='-lwx_stubs $(COMPLIBS) -lXm -lXmu -lXt -lX11 -lm' |
| 104 | |
| 105 | motif: |
| 106 | make -f makefile.unx all GUI='-D__WXMOTIF__ -D__UNIX__' GUISUFFIX='_motif' GUILDLIBS='-lwx_motif $(COMPLIBS) -lpng -lzlib -lXm -lXmu -lXt -lXpm -lX11 -lm' |
| 107 | |
| 108 | gtk: |
| 109 | make -f makefile.unx all GUI='-D__WXGTK__ -D__UNIX__' GUISUFFIX='_gtk' GUILDLIBS='-lwx_gtk2 $(COMPLIBS) -ldl -lgtk -lgdk -lglib -lpng -lzlib -lX11 -lm -pthread' |
| 110 | |
| 111 | cleanstubs: |
| 112 | make -f makefile.unx clean GUI='-D__WXSTUBS__ -D__UNIX__' GUISUFFIX='_stubs' GUILDLIBS='-lwx_stubs $(COMPLIBS) -lXm -lXmu -lXt -lX11 -lm' |
| 113 | |
| 114 | cleanmotif: |
| 115 | make -f makefile.unx clean GUI='-D__WXMOTIF__ -D__UNIX__' GUISUFFIX='_motif' GUILDLIBS='-lwx_motif $(COMPLIBS) -lXm -lXmu -lXt -lX11 -lm' |
| 116 | |
| 117 | cleangtk: |
| 118 | make -f makefile.unx clean GUI='-D__WXGTK__ -D__UNIX__' GUISUFFIX='_gtk' |
| 119 | |
| 120 | $(OBJDIR): |
| 121 | mkdir $(OBJDIR) |
| 122 | |