NMake Makefiles: Split out build rules

Like the previous commit, we split out the build rules so that we keep
Makefile.vc as clean as possible, as we want to support building pkg-config
with the bundled copy of GLib with the NMake Makefiles as well.
This commit is contained in:
Chun-wei Fan 2023-09-18 12:07:41 +08:00
parent e7a1953999
commit efeff732fb
3 changed files with 29 additions and 25 deletions

View file

@ -1,4 +1,5 @@
EXTRA_DIST = \
build-rules-msvc.mak \
create-lists-msvc.mak \
detectenv-msvc.mak \
Makefile.vc \

View file

@ -54,33 +54,9 @@ LDFLAGS = $(LDFLAGS_BASE) /opt:ref /LTCG
pkg_config_LIBS = glib-2.0.lib
{..\}.c{vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\}.obj::
@if not exist vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\ md vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config
@if not exist vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\config.h copy config.h.win32 vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\config.h
$(CC) $(pkg_config_CFLAGS) /Fovs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\ /c @<<
$<
<<
all: vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config.exe
vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config.exe: $(pkg_config_OBJS)
link $(LDFLAGS) $(pkg_config_LIBS) -out:$@ @<<
$(pkg_config_OBJS)
<<
@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
clean:
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.pdb
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exe.manifest
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exe
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.ilk
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\*.obj
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\vc$(PDBVER).pdb
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\config.h
@-rd vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config
@-rd vs$(VSVER)\$(CFG)\$(PLAT)
@-rd vs$(VSVER)\$(CFG)
@-rd vs$(VSVER)
!include build-rules-msvc.mak
!else
all:

View file

@ -0,0 +1,27 @@
# rules for building objects, libraries and executables
{..\}.c{vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\}.obj::
@if not exist vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\ md vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config
@if not exist vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\config.h copy config.h.win32 vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\config.h
$(CC) $(pkg_config_CFLAGS) /Fovs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\ /c @<<
$<
<<
vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config.exe: $(pkg_config_OBJS)
link $(LDFLAGS) $(pkg_config_LIBS) -out:$@ @<<
$(pkg_config_OBJS)
<<
@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
clean:
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.pdb
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exe.manifest
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exe
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.ilk
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\*.obj
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\vc$(PDBVER).pdb
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config\config.h
@-rd vs$(VSVER)\$(CFG)\$(PLAT)\pkg-config
@-rd vs$(VSVER)\$(CFG)\$(PLAT)
@-rd vs$(VSVER)\$(CFG)
@-rd vs$(VSVER)