summaryrefslogtreecommitdiff
path: root/WCC_MAKEFILE
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2019-07-19 20:42:38 +0300
committerIvan Maidanski <ivmai@mail.ru>2019-07-19 20:42:38 +0300
commit4a08ae9834b3e0521ea2d1253abd6e780ce99c1a (patch)
treeffda727be7d821a24d82d60112f74c47b46f7484 /WCC_MAKEFILE
parent64706a08ec4cdc07160e4bc3f0ece7874f663458 (diff)
downloadbdwgc-4a08ae9834b3e0521ea2d1253abd6e780ce99c1a.tar.gz
Build gccpp library by Makefile.direct, NT_MAKEFILE and WCC_MAKEFILE
* Makefile.direct: Update header comment about all, gc.a (base_lib), c++, check, check-cpp targets. * Makefile.direct (CXX): Refine comment. * Makefile.direct (all): Depend also on c++. * Makefile.direct (bsd-libgccpp.a): New target (duplicates bsd-libgc.a one). * Makefile.direct (bsd-libgc.a): Add a rename of gccpp.a to bsd-libgccpp.a. * Makefile.direct (BSD-pkg-install): Copy bsd-libgccpp.a file to libgccpp.a, install the latter one. * Makefile.direct (test_cpp): Depend on c++ instead of gc_cpp.o; pass gccpp.a (instead of gc_cpp.o) to $(CXX). * Makefile.direct (gccpp.a): New target (duplicates c++ one). * Makefile.direct (c++): Do not depend on gc_cpp.h and base_lib; create gccpp.a instead of updating gc.a. * Makefile.direct (clean): Delete *.a files instead of gc.a. * Makefile.direct (check): Depend also on test_cpp$(EXEEXT); run also test_cpp. * NT_MAKEFILE (LINK_GC, LINK_DLL_FLAGS): Remove variable. * NT_MAKEFILE (OBJS): Remove gc_cpp.obj. * NT_MAKEFILE (all, test_cpp.exe): Depend also on gccpp.lib. * WCC_MAKEFILE (all, test_cpp.exe): Likewise. * NT_MAKEFILE (gccpp.lib): New target (depending on gc_cpp.obj). * WCC_MAKEFILE (gccpp.lib): Likewise. * WCC_MAKEFILE [MAKE_AS_DLL] (gccpp.dll): Likewise. * NT_MAKEFILE (test_cpp.exe): Pass gccpp.lib to $(link). * WCC_MAKEFILE [MAKE_AS_LIB] (MAKE_AS_LIB): Set to -DGC_NOT_DLL. * WCC_MAKEFILE (gc.lib): Do not depend gc_cpp.obj. * WCC_MAKEFILE [MAKE_AS_DLL] (gc.lib): Do not add gc_cpp.obj to gc.lib. * WCC_MAKEFILE [MAKE_AS_DLL] (gc.dll): Specify "op case".
Diffstat (limited to 'WCC_MAKEFILE')
-rw-r--r--WCC_MAKEFILE42
1 files changed, 35 insertions, 7 deletions
diff --git a/WCC_MAKEFILE b/WCC_MAKEFILE
index c03b12e7..fa929294 100644
--- a/WCC_MAKEFILE
+++ b/WCC_MAKEFILE
@@ -59,7 +59,7 @@ DLLFLAG=-bd -DGC_DLL
TEST_DLLFLAG=-DGC_DLL
!else ifdef MAKE_AS_LIB
DLLFLAG=
-TEST_DLLFLAG=
+TEST_DLLFLAG=-DGC_NOT_DLL
!else
!error Either MAKE_AS_LIB or MAKE_AS_DLL should be defined
!endif
@@ -78,7 +78,7 @@ OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj &
dbg_mlc.obj malloc.obj dyn_load.obj &
typd_mlc.obj ptr_chck.obj mallocx.obj fnlz_mlc.obj gcj_mlc.obj
-all: gc.lib
+all: gc.lib gccpp.lib
check: gctest.exe test_cpp.exe .SYMBOLIC
*gctest.exe
@@ -86,8 +86,8 @@ check: gctest.exe test_cpp.exe .SYMBOLIC
!ifdef MAKE_AS_DLL
-gc.lib: gc.dll gc_cpp.obj
- *wlib -b -c -n -p=512 $@ +gc.dll +gc_cpp.obj
+gc.lib: gc.dll
+ *wlib -b -c -n -p=512 $@ +gc.dll
gc.dll: $(OBJS) .AUTODEPEND
@%create $*.lnk
@@ -98,13 +98,39 @@ gc.dll: $(OBJS) .AUTODEPEND
!else ifdef OS2
@%append $*.lnk sys os2v2_dll
!endif
+ @%append $*.lnk op case
@%append $*.lnk name $*
@for %i in ($(OBJS)) do @%append $*.lnk file '%i'
*wlink @$*.lnk
+
+gccpp.lib: gccpp.dll
+ *wlib -b -c -n -p=512 $@ +gccpp.dll
+
+gccpp.dll: gc_cpp.obj gc.lib .AUTODEPEND
+ @%create $*.lnk
+!ifdef DOS4GW
+ @%append $*.lnk sys os2v2_dll
+!else ifdef MSWIN32
+ @%append $*.lnk sys nt_dll
+!else ifdef OS2
+ @%append $*.lnk sys os2v2_dll
+!endif
+ @%append $*.lnk op case
+ @%append $*.lnk name $*
+ @%append $*.lnk file 'gc_cpp.obj'
+ @%append $*.lnk library gc.lib
+ @%append $*.lnk library wr7$(CALLING)dll.lib
+ *wlink @$*.lnk
+
!else
-gc.lib: $(OBJS) gc_cpp.obj
+
+gc.lib: $(OBJS)
@%create $*.lb1
@for %i in ($(OBJS)) do @%append $*.lb1 +'%i'
+ *wlib -b -c -n -p=512 $@ @$*.lb1
+
+gccpp.lib: gc_cpp.obj
+ @%create $*.lb1
@%append $*.lb1 +'gc_cpp.obj'
*wlib -b -c -n -p=512 $@ @$*.lb1
@@ -126,7 +152,8 @@ gctest.exe: test.obj gc.lib
@%append $*.lnk file test.obj
@%append $*.lnk library gc.lib
*wlink @$*.lnk
-test_cpp.exe: test_cpp.obj gc.lib
+
+test_cpp.exe: test_cpp.obj gc.lib gccpp.lib
%create $*.lnk
!ifdef DOS4GW
@%append $*.lnk sys dos4g
@@ -140,6 +167,7 @@ test_cpp.exe: test_cpp.obj gc.lib
@%append $*.lnk name $*
@%append $*.lnk file test_cpp.obj
@%append $*.lnk library gc.lib
+ @%append $*.lnk library gccpp.lib
*wlink @$*.lnk
gc_cpp.obj: gc_cpp.cc .AUTODEPEND
@@ -155,7 +183,7 @@ test_cpp.obj: tests\test_cpp.cc .AUTODEPEND
.cc.obj: .AUTODEPEND
$(CXX) $(CXXFLAGS) $*.cc
-clean : .SYMBOLIC
+clean: .SYMBOLIC
@if exist *.obj del *.obj
@if exist *.map del *.map
@if exist *.lnk del *.lnk