Files
harbour-core/harbour/config/win/dmc.cf
Viktor Szakats f18b3c3cb2 2009-02-17 00:33 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/compiler/hbusage.c
    + Added Vailton Renato to credit list.

  * utils/hbmk/hbmk.prg
    + Cleanups and additions to help screen.
    ! Fixed dm/dmc compiler ID.

  - config/win/dm.cf
  + config/win/dmc.cf
  * contrib/gtalleg/Makefile
  * contrib/hbwhat/Makefile
    * Digital Mars C compiler ID changed from dm to dmc.
      (they also have a D compiler f.e.)
2009-02-15 23:34:57 +00:00

98 lines
2.4 KiB
CFEngine3

#
# $Id$
#
# GNU MAKE file for Digital Mars Compiler
include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/global.cf
OBJ_EXT = .obj
EXE_EXT = .exe
LIB_PREF =
LIB_EXT = .lib
CC = dmc.exe
CC_IN = -c
CC_OUT = -o
CPPFLAGS = -I. -I$(HB_INC_COMPILE)
CFLAGS = -6 -cpp -mn -x
# disabled - it causes that wrong code is generated
#CFLAGS += -o+time
# Suppressing "possible extraneous ';'" warnings. [vszakats]
#CFLAGS += -w7
# Add all libraries specified in CONTRIBS and LIBS.
ifeq ($(HB_LIB_COMPILE),)
LINKLIBS += $(foreach lib, $(CONTRIBS), $(LIB_DIR)\$(lib)$(LIB_EXT))
LINKLIBS += $(foreach lib, $(LIBS), $(LIB_DIR)\$(lib)$(LIB_EXT))
else
LINKLIBS += $(foreach lib, $(CONTRIBS), $(HB_LIB_COMPILE)\$(lib)$(LIB_EXT))
LINKLIBS += $(foreach lib, $(LIBS), $(HB_LIB_COMPILE)\$(lib)$(LIB_EXT))
endif
# If LIBS specifies the rdd library, add all DB drivers.
ifeq ($(findstring rdd,$(LIBS)),rdd)
LINKLIBS += $(foreach drv, $(HB_DB_DRIVERS), $(LIB_DIR)/$(drv)$(LIB_EXT))
endif
# Add the specified GT driver library and other RTLs
ifeq ($(findstring rtl,$(LIBS)),rtl)
LINKLIBS += $(foreach gt, $(HB_GT_LIBS), $(LIB_DIR)/$(gt)$(LIB_EXT))
endif
ifneq ($(HB_SCREEN_LIB),)
LINKLIBS += $(HB_SCREEN_LIB)
endif
# Add the optional user path(s)
#ifneq ($(LNK_USR_PATH),)
#LINKPATHS += $(foreach path, $(LNK_USR_PATH), -L$(path))
#endif
# Add the optional user libarary (or libraries)
ifneq ($(LNK_USR_LIB),)
LINKLIBS += $(foreach lib, $(LNK_USR_LIB), $(lib)$(LIB_EXT))
endif
SYSLIBS = kernel32 user32 gdi32 wsock32 advapi32
SYSLIBS += winspool comctl32 comdlg32 ole32 oleaut32 uuid
LINKLIBS += $(SYSLIBS)
define link_exe_file
echo $(subst /,\,$(^F)) > __link__.tmp
echo $@ >> __link__.tmp
echo. >> __link__.tmp
echo $(subst /,\,$(LINKLIBS)) >> __link__.tmp
$(LD) $(LDFLAGS) @__link__.tmp
endef
LD = link.exe
LDFLAGS = /NOMAP /EXETYPE:NT /SUBSYSTEM:CONSOLE $(LINKPATHS) $(HB_USER_LDFLAGS)
ifeq ($(SHLVL),)
LNKLIBS=$(subst /,\,$(LINKLIBS))
else
LNKLIBS=$(subst /,\\,$(subst \,/,$(LINKLIBS)))
endif
LD_RULE = $(LD) $(LDFLAGS) $(^F), $@,, $(LNKLIBS)
define create_library
echo $@ > __lib__.tmp
echo $(^F) >> __lib__.tmp
$(AR) $(ARFLAGS) @__lib__.tmp
endef
AR = lib.exe
ARFLAGS = -c $(HB_USER_AFLAGS)
AROBJS = $(foreach file, $(^F), $(file))
AR_RULE = $(AR) $(ARFLAGS) $(LIB_DIR)/$@ $(AROBJS)
ifeq ($(COMMAND_COM),yes)
# workaround for command line size limit
LD_RULE = $(link_exe_file)
AR_RULE = $(create_library)
endif
include $(TOP)$(ROOT)config/rules.cf