* 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.)
98 lines
2.4 KiB
CFEngine3
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
|