summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2021-11-07 09:16:15 +0300
committerIvan Maidanski <ivmai@mail.ru>2021-11-07 09:20:15 +0300
commit74f3108c0c70515a6bd4d5cbba2de29340254c01 (patch)
tree18ac17140c2622787f915be82bc42ed59baf9d85 /src
parenta821036cc7208fbd83cf8c05d080506581ca2471 (diff)
downloadlibatomic_ops-74f3108c0c70515a6bd4d5cbba2de29340254c01.tar.gz
Build libatomic_ops.lib by Makefile.msft (MS VC)
This unifies the build artifacts between the supported build systems. Note that the clients relying on Makefile.msft should now link with libatomic_ops.lib in addition to libatomic_ops_gpl.lib. * README.md (Platform Specific Notes): Updade documentation about Makefile.msft which also builds libatomic_ops.lib now. * README_win32.txt: Likewise. * README_win32.txt: Refine documentation (separate the package build from client code compilation). * src/Makefile.msft (LIB_GPL_OBJS): New variable. * src/Makefile.msft (LIB_OBJS): Move atomic_ops_malloc.obj and atomic_ops_stack.obj to LIB_GPL_OBJS. * src/Makefile.msft (all-disable-gpl, libatomic_ops.lib): New goal (builds only non-GPL code). * src/Makefile.msft (all): Depend on all-disable-gpl. * src/Makefile.msft (libatomic_ops_gpl.lib): Depend and use LIB_GPL_OBJS instead of LIB_OBJS. * src/Makefile.msft (test_malloc, test_stack): Also depend and link with libatomic_ops.lib. * src/Makefile.msft (clean): Delete libatomic_ops*.lib.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.msft28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/Makefile.msft b/src/Makefile.msft
index 0dc810d..8567b06 100644
--- a/src/Makefile.msft
+++ b/src/Makefile.msft
@@ -14,9 +14,12 @@
CFLAGS_EXTRA=
CFLAGS=-O2 -W4 $(CFLAGS_EXTRA)
-LIB_OBJS=atomic_ops.obj atomic_ops_malloc.obj atomic_ops_stack.obj
+LIB_OBJS=atomic_ops.obj
+LIB_GPL_OBJS=atomic_ops_malloc.obj atomic_ops_stack.obj
-all: libatomic_ops_gpl.lib
+all-disable-gpl: libatomic_ops.lib
+
+all: all-disable-gpl libatomic_ops_gpl.lib
atomic_ops.obj:
cl $(CFLAGS) -c atomic_ops.c
@@ -27,8 +30,11 @@ atomic_ops_stack.obj:
atomic_ops_malloc.obj:
cl $(CFLAGS) /wd4127 -c atomic_ops_malloc.c
-libatomic_ops_gpl.lib: $(LIB_OBJS)
- lib /out:libatomic_ops_gpl.lib $(LIB_OBJS)
+libatomic_ops.lib: $(LIB_OBJS)
+ lib /out:libatomic_ops.lib $(LIB_OBJS)
+
+libatomic_ops_gpl.lib: $(LIB_GPL_OBJS)
+ lib /out:libatomic_ops_gpl.lib $(LIB_GPL_OBJS)
..\tests\test_atomic: ..\tests\test_atomic.c ..\tests\test_atomic_include.h
cl $(CFLAGS) -I. ..\tests\test_atomic.c \
@@ -40,13 +46,15 @@ libatomic_ops_gpl.lib: $(LIB_OBJS)
/Fo..\tests\test_atomic_generalized \
/Fe..\tests\test_atomic_generalized
-..\tests\test_malloc: ..\tests\test_malloc.c libatomic_ops_gpl.lib
+..\tests\test_malloc: ..\tests\test_malloc.c libatomic_ops.lib \
+ libatomic_ops_gpl.lib
cl $(CFLAGS) -I. ..\tests\test_malloc.c /Fo..\tests\test_malloc \
- /Fe..\tests\test_malloc libatomic_ops_gpl.lib
+ /Fe..\tests\test_malloc libatomic_ops.lib libatomic_ops_gpl.lib
-..\tests\test_stack: ..\tests\test_stack.c libatomic_ops_gpl.lib
- cl $(CFLAGS) -I. ..\tests\test_stack.c \
- /Fo..\tests\test_stack /Fe..\tests\test_stack libatomic_ops_gpl.lib
+..\tests\test_stack: ..\tests\test_stack.c libatomic_ops.lib \
+ libatomic_ops_gpl.lib
+ cl $(CFLAGS) -I. ..\tests\test_stack.c /Fo..\tests\test_stack \
+ /Fe..\tests\test_stack libatomic_ops.lib libatomic_ops_gpl.lib
check-deps: check-noautogen-deps ..\tests\test_atomic \
..\tests\test_atomic_generalized
@@ -63,4 +71,4 @@ check-noautogen: check-noautogen-deps
..\tests\test_stack
clean:
- del *.obj libatomic_ops_gpl.lib ..\tests\*.obj ..\tests\*.exe
+ del *.obj libatomic_ops*.lib ..\tests\*.obj ..\tests\*.exe