4 ## Build environment configuration parameters
5 ## Copyright (C) 1999 by Bernardo Innocenti
7 ###########################################################
8 # Package configuration
9 ###########################################################
11 # set to OS30_ONLY to leave out support for old V37
12 # set to ANY_OS to make an executable for V37 with V39 support
16 # CPU to compile for (eg: "68020").
20 # Compiler to use. Possible options are:
21 # sc - SAS/C 6.58 or better
22 # gcc - gcc 2.7.2 or EGCS 1.1b
23 # vbcc - Not yet supported
24 # stormc - Not yet supported
28 # Set to 1 to build debug executables
32 # Minimum stack size to allocate
36 ###########################################################
38 ###########################################################
42 ifeq ($(COMPILER),gcc)
49 INCDIR := $(TOP)/include
50 DISTPREFIX := $(TOP)/dist
51 ARCNAME := $(DISTPREFIX)/$(PROJNAME).lzx
52 SRCARCNAME := $(DISTPREFIX)/$(PROJNAME)_src.lzx
54 ###########################################################
55 # Tools used in the Makefiles
56 ###########################################################
58 MAKEINFO := GG:bin/makeinfo
59 FD2PRAGMA := fd2pragma
61 ARCHIVER := lzx -3 -e -r a
73 ifeq ($(COMPILER),gcc)
83 ###########################################################
84 # SAS/C compiler, assembler and linker flags
85 ###########################################################
88 CMN_CFLAGS := CODE=FAR PARM=REGISTERS STRMERGE STRINGSCONST NOSTKCHK AFP \
89 UTILLIB MCCONS NOMINC NOLINK CNEST INCDIR=$(TOP) INCDIR=$(INCDIR)
90 OPT_CFLAGS := OPTIMIZE OPTTIME OPTINLINELOCAL
91 DBG_CFLAGS := DEBUG=FULLFLUSH DEF DEBUG
94 CMN_ASFLAGS := SMALLDATA SMALLCODE ALIGN MACHINE=$(CPU) \
95 INCPATH=INCLUDE:,$(INCDIR) NOEXE QUIET
97 DBG_ASFLAGS := SYMDEBUG LINEDEBUG SET "DEBUG"
99 CMN_LDFLAGS := SMALLCODE SMALLDATA DEFINE \
100 "__CXM33=__UCXM33,__CXD33=__UCXD33,__CXM22=__UCXM22,__CXD22=__UCXD22"
101 OPT_LDFLAGS := NODEBUG
102 DBG_LDFLAGS := NOSHORTRELOCS
104 CMN_LIBS := LIB:sc.lib LIB:small.lib
106 DBG_LIBS := LIB:debug.lib
108 # GST usage must be disabled due to bugs in SAS/C 6.58
109 # GST := $(OBJDIR)/$(PROJNAME).gst
110 # CMN_CFLAGS += GST=$(GST)
112 # Old flags used with slink:
113 # CMN_LDFLAGS += SMALLCODE SMALLDATA NOALVS NOICONS XREF \
114 # DEFINE __CXM33=__UCXM33 DEFINE __CXD33=__UCXD33 \
115 # DEFINE __CXM22=__UCXM22 DEFINE __CXD22=__UCXD22
116 # DBG_LDFLAGS += BATCH ADDSYM
121 ###########################################################
122 # GCC compiler, assembler and linker flags
123 ###########################################################
125 ifeq ($(COMPILER),gcc)
126 CMN_CFLAGS := -c -Wall -W -Wundef -Wimplicit -Wreturn-type \
127 -m$(CPU) -D$(OSVER) -I$(INCDIR) -I$(TOP) -I/gg/include -I/include
128 OPT_CFLAGS := -O2 -msmall-code -mregparm -fomit-frame-pointer \
129 -funroll-loops -fstrict-aliasing -finline-functions \
130 -fno-implement-inlines
131 DBG_CFLAGS := -DDEBUG -g
134 CMN_ASFLAGS := SMALLDATA SMALLCODE ALIGN MACHINE=$(CPU) \
135 INCPATH=INCLUDE:,$(INCDIR) NOEXE QUIET
137 DBG_ASFLAGS := SYMDEBUG LINEDEBUG SET "DEBUG"
144 ###########################################################
145 # Build flags for Debug/Release version
146 ###########################################################
149 CFLAGS := $(CMN_CFLAGS) $(DBG_CFLAGS)
150 ASFLAGS := $(CMN_ASFLAGS) $(DBG_ASFLAGS)
151 LDFLAGS := $(CMN_LDFLAGS) $(DBG_LDFLAGS)
152 LIBS := $(CMN_LIBS) $(DBG_LIBS)
154 CFLAGS := $(CMN_CFLAGS) $(OPT_CFLAGS)
155 ASFLAGS := $(CMN_ASFLAGS) $(OPT_ASFLAGS)
156 LDFLAGS := $(CMN_LDFLAGS) $(OPT_LDFLAGS)
157 LIBS := $(CMN_LIBS) $(OPT_LIBS)
160 ###########################################################
162 ###########################################################
164 # clear implicit rules for known suffixes such as .c and .o