summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2019-07-25 00:55:22 +0300
committerIvan Maidanski <ivmai@mail.ru>2019-07-25 00:56:47 +0300
commit40fba167c81f46f3770e902355a6952200b51028 (patch)
treef062ef94aa893ca435dab3b610e77d55cd9afcbf
parent40fcb59ed30f55076b5e6bbfca798ad0cad0302c (diff)
downloadbdwgc-40fba167c81f46f3770e902355a6952200b51028.tar.gz
Compile gc.c unless building static libraries (NT_MAKEFILE, WCC_MAKEFILE)
This is to match the behavior of CMake and configure scripts. * NT_MAKEFILE [!ENABLE_STATIC] (OBJS): Set to extra\gc.obj, extra\msvc_dbg.obj. * WCC_MAKEFILE (OBJS): Define only if ENABLE_STATIC. * WCC_MAKEFILE [!ENABLE_STATIC] (gc.obj): New target. * WCC_MAKEFILE [!ENABLE_STATIC] (gc.dll): Depend on and append gc.obj instead of $(OBJS) elements.
-rw-r--r--NT_MAKEFILE4
-rw-r--r--WCC_MAKEFILE19
2 files changed, 15 insertions, 8 deletions
diff --git a/NT_MAKEFILE b/NT_MAKEFILE
index 3266d9af..76784f60 100644
--- a/NT_MAKEFILE
+++ b/NT_MAKEFILE
@@ -88,7 +88,11 @@ CFLAGS_DEFAULT=-DALL_INTERIOR_POINTERS -DENABLE_DISCLAIM -DGC_ATOMIC_UNCOLLECTAB
AO_SRC_DIR=libatomic_ops/src
AO_INCLUDE_DIR=$(AO_SRC_DIR)
+!IFDEF ENABLE_STATIC
OBJS= misc.obj win32_threads.obj alloc.obj reclaim.obj allchblk.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj fnlz_mlc.obj malloc.obj dyn_load.obj typd_mlc.obj ptr_chck.obj gcj_mlc.obj mallocx.obj extra\msvc_dbg.obj thread_local_alloc.obj
+!ELSE
+OBJS= extra\gc.obj extra\msvc_dbg.obj
+!ENDIF
COBJS= cord\cordbscs.obj cord\cordxtra.obj cord\cordprnt.obj
diff --git a/WCC_MAKEFILE b/WCC_MAKEFILE
index 2a9fc4dd..60b013ef 100644
--- a/WCC_MAKEFILE
+++ b/WCC_MAKEFILE
@@ -76,12 +76,6 @@ CXXFLAGS= $(CFLAGS) -xs
TEST_CFLAGS=-$(CPU)$(CALLING) $(OPTIM) -iinclude -zp4 -zc $(SYSFLAG) $(TEST_DLLFLAG) $(DEFS)
TEST_CXXFLAGS= $(TEST_CFLAGS) -xs
-OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj &
- mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj &
- obj_map.obj blacklst.obj finalize.obj new_hblk.obj &
- dbg_mlc.obj malloc.obj dyn_load.obj &
- typd_mlc.obj ptr_chck.obj mallocx.obj fnlz_mlc.obj gcj_mlc.obj
-
COBJS= cordbscs.obj cordxtra.obj cordprnt.obj
all: gc.lib gccpp.lib cord.lib
@@ -93,6 +87,12 @@ check: gctest.exe test_cpp.exe cordtest.exe .SYMBOLIC
!ifdef ENABLE_STATIC
+OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj &
+ mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj &
+ obj_map.obj blacklst.obj finalize.obj new_hblk.obj &
+ dbg_mlc.obj malloc.obj dyn_load.obj &
+ typd_mlc.obj ptr_chck.obj mallocx.obj fnlz_mlc.obj gcj_mlc.obj
+
gc.lib: $(OBJS)
@%create $*.lb1
@for %i in ($(OBJS)) do @%append $*.lb1 +'%i'
@@ -110,10 +110,13 @@ gccpp.lib: gc_cpp.obj
!else
+gc.obj: extra\gc.c .AUTODEPEND
+ $(CC) $(CFLAGS) extra\gc.c
+
gc.lib: gc.dll
*wlib -b -c -n -p=512 $@ +gc.dll
-gc.dll: $(OBJS) .AUTODEPEND
+gc.dll: gc.obj .AUTODEPEND
@%create $*.lnk
!ifdef DOS4GW
@%append $*.lnk sys os2v2_dll
@@ -124,7 +127,7 @@ gc.dll: $(OBJS) .AUTODEPEND
!endif
@%append $*.lnk op case
@%append $*.lnk name $*
- @for %i in ($(OBJS)) do @%append $*.lnk file '%i'
+ @%append $*.lnk file 'gc.obj'
*wlink @$*.lnk
cord.lib: cord.dll