# # compiler.bor,v 4.15 2003/11/28 15:10:01 jwillemsen Exp # # Defines specific to a particular version of the compiler # # Inputs: # ~~~~~~~ # STATIC - if defined means creating a static library or executable # PASCAL - if defined means link dll against pascal run-time library # DEBUG - if defined means building with debug information # UNICODE - if defined means building unicode # CBX - if defined means building with the new cbuilderx compiler # # Outputs: # ~~~~~~~~ # CC - name of compiler # LD - name of linker # AR - name of librarian # RC - name of resource compiler # COMMON_CFLAGS - compiler flags for all targets # COMMON_LFLAGS - linker flags for all targets # COMMON_LIBS - linker library files for all targets # DLL_CFLAGS - compiler flags specific to DLL targets # DLL_LFLAGS - linker flags specific to DLL targets # DLL_STARTUP_OBJ - start-up object files for DLL targets # EXE_CFLAGS - compiler flags specific to EXE targets # EXE_LFLAGS - linker flags specific to EXE targets # EXE_STARTUP_OBJ - start-up object files for EXE targets # LIB_CFLAGS - compiler flags specific to static lib targets # LIB_LFLAGS - flags specific to static lib targets (passed to # librarian) # OBJ_EXT - the extension to be used for object files # LIB_EXT - the extension to be used for libs # !ifdef CBX OBJ_EXT = o LIB_EXT = a !else OBJ_EXT = obj LIB_EXT = lib !endif !include <$(ACE_ROOT)\include\makeinclude\ace_flags.bor> # # Build tools # !ifdef CBX CC = bccx LD = ilink AR = ar RC = brcc32 !else CC = bcc32 LD = ilink32 AR = tlib RC = brcc32 !endif # # Common flags # !ifdef DEBUG !ifdef CBX DEBUG_CFLAGS = -v -y -Od -vi- -k -D_DEBUG -DACE_NO_INLINE=1 DEBUG_LFLAGS = -v !else DEBUG_CFLAGS = -v -y -Od -r- -vi- -k -D_DEBUG -DACE_NO_INLINE=1 DEBUG_LFLAGS = -v !endif !else DEBUG_CFLAGS = -O2 -DNDEBUG DEBUG_LFLAGS = !endif !ifdef STATIC STATIC_CFLAGS = STATIC_LFLAGS = !else STATIC_CFLAGS = -tWR STATIC_LFLAGS = !endif !ifdef CODEGUARD CODEGUARD_CFLAGS = -vG !endif !ifdef UNICODE UNICODE_CFLAGS = -DACE_USES_WCHAR -WU !endif !ifdef PCH_HEADER PCH_CFLAGS = -H=$(OBJDIR)\$(NAME).csm -Hh=$(PCH_HEADER) !endif THREAD_CFLAGS = -D_MT -tWM WARNINGS_CFLAGS = -w-rvl -w-rch -w-ccc -w-obs -w-aus -w-pia -w-inl !ifdef CBX DEFINES_CFLAGS = QUIET_CFLAGS = MISC_CFLAGS = -a8 !else DEFINES_CFLAGS = -DWIN32;_NO_VCL QUIET_CFLAGS = -q MISC_CFLAGS = -a8 -b !endif DECORATOR_CFLAGS = -DACE_LD_DECORATOR_STR=ACE_LIB_TEXT(\"$(LIB_DECORATOR)\") COMMON_CFLAGS = $(QUIET_CFLAGS) $(DEBUG_CFLAGS) $(THREAD_CFLAGS) \ $(STATIC_CFLAGS) $(WARNINGS_CFLAGS) $(DEFINES_CFLAGS) \ $(MISC_CFLAGS) $(CODEGUARD_CFLAGS) $(UNICODE_CFLAGS) \ $(DECORATOR_CFLAGS) $(PCH_CFLAGS) COMMON_LFLAGS = $(DEBUG_LFLAGS) $(STATIC_LFLAGS) -x -w-dup -Gn # # DLL specific flags # DLL_CFLAGS = -tWD DLL_LFLAGS = -Tpd -Gi !ifdef PASCAL !ifdef UNICODE DLL_STARTUP_OBJ = c0d32w.$(OBJ_EXT) sysinit.obj !else DLL_STARTUP_OBJ = c0d32.$(OBJ_EXT) sysinit.obj !endif !else !ifdef UNICODE DLL_STARTUP_OBJ = c0d32w.$(OBJ_EXT) !else DLL_STARTUP_OBJ = c0d32.$(OBJ_EXT) !endif !endif # # EXE specific flags # EXE_CFLAGS = EXE_LFLAGS = -Tpe !ifdef PASCAL !ifdef UNICODE EXE_STARTUP_OBJ = c0x32w.$(OBJ_EXT) sysinit.obj !else EXE_STARTUP_OBJ = c0x32.$(OBJ_EXT) sysinit.obj !endif !else !ifdef UNICODE EXE_STARTUP_OBJ = c0x32w.$(OBJ_EXT) !else EXE_STARTUP_OBJ = c0x32.$(OBJ_EXT) !endif !endif # # Static lib specific flags # LIB_CFLAGS = !ifdef DEBUG LIB_LFLAGS = /C /P4096 !else LIB_LFLAGS = /C /P512 !endif # # VCL lib version number # !if $(BCBVER) == 6 VCLVER = !else !if $(BCBVER) == 5 VCLVER = 50 !else VCLVER = 40 !endif !endif # # Libraries to be linked # !ifdef CODEGUARD CODEGUARD_LIB = cg32.lib !endif !ifdef STATIC !ifdef PASCAL COMMON_LIBS = $(CODEGUARD_LIB) import32.$(LIB_EXT) vcl$(VCLVER).lib vcle$(VCLVER).lib cp32mt.lib ws2_32.lib !else COMMON_LIBS = $(CODEGUARD_LIB) import32.$(LIB_EXT) cw32mt.lib ws2_32.lib !endif !else !ifdef PASCAL COMMON_LIBS = $(CODEGUARD_LIB) import32.$(LIB_EXT) vcl$(VCLVER).bpi vcle$(VCLVER).lib cp32mti.lib ws2_32.lib !else COMMON_LIBS = $(CODEGUARD_LIB) import32.$(LIB_EXT) cw32mti.lib ws2_32.lib !endif !endif