# $OpenXM: OpenXM_contrib2/windows/Makefile,v 1.16 2021/03/25 06:31:59 ohara Exp $
!if "$(ARCH)" == ""
ARCH=$(PROCESSOR_ARCHITECTURE)
!endif
!if "$(ARCH)" == "AMD64"
OS = win64
CANDLE_ARCH = -nologo -arch x64
PGDIR=ProgramFiles64Folder
PRODUCTID=15DF8683-87F0-4AA3-99F1-9569E3ADA27F
!else
OS = win32
CANDLE_ARCH = -nologo
PGDIR=ProgramFilesFolder
PRODUCTID=C9E9BA50-34E6-4A03-BDCD-2632FD445570
!endif
# DO NOT CHANGE UPGRADEID!!
UPGRADEID=B7A582F5-0484-4030-9D38-BFAE00707F0D
PRODUCTVER=1.1.0
TARGET= asir$(OS).msi
SRCS= asir.wxs _lib.wxs _contrib.wxs _share.wxs
# OBJS= asir.wixobj _lib.wixobj _contrib.wixobj _help.wixobj _share.wixobj
OBJS= $(SRCS:.wxs=.wixobj)
CANDLE = candle -nologo
CANDLE_FLAGS = $(CANDLE_ARCH) -dprogramfilesDir=$(PGDIR) \
-dupgradeID=$(UPGRADEID) -dproductID=$(PRODUCTID) -dproductVer=$(PRODUCTVER) \
-dlibDir=asir\lib\asir -dcontribDir=asir\lib\asir-contrib \
-dshareDir=asir\share
LIGHT = light -nologo
LTFLAGS = -ext WixUIExtension -ext WixUtilExtension
HEAT = heat
HEATFLAGS = -nologo -gg -g1 -sfrag -srd
.SUFFIXES: .wxs .wixobj
.wxs.wixobj:
$(CANDLE) $(CANDLE_FLAGS) $<
all: build
build: ..\asir-gc\gc\gc.lib asir2000lib\asir2000lib.lib engine2000\engine.exe asir32gui\asirgui.exe mcpp\cpp.exe post-msg-asirgui\cmdasir.exe ..\asir2018\asir.exe
..\asir-gc\gc\gc.lib:
cd ..\asir-gc && $(MAKE) -e -f Makefile.vc
asir2000lib\asir2000lib.lib: ..\asir-gc\gc\gc.lib
cd $(@D) && $(MAKE) -e -f Makefile.vc ARCH=$(ARCH)
engine2000\engine.exe: asir2000lib\asir2000lib.lib
cd $(@D) && $(MAKE) -e -f Makefile.vc ARCH=$(ARCH)
asir32gui\asirgui.exe:
cd $(@D) && $(MAKE) -e -f Makefile.vc
mcpp\cpp.exe:
cd $(@D) && $(MAKE) -e -f Makefile.vc
post-msg-asirgui\cmdasir.exe:
cd $(@D) && $(MAKE) -e -f Makefile.vc
..\asir2018\asir.exe: ..\asir-gc\gc\gc.lib
cd $(@D) && $(MAKE) -e -f Makefile.vc ARCH=$(ARCH)
msi: $(TARGET)
copy /b $(TARGET) asir_$(OS)_%DATE:/=.%.msi
wxs: $(SRCS)
mkdir:
if not exist asir ( mkdir asir\bin asir\lib\asir asir\lib\asir-contrib asir\share\editor asir\share\skel )
!if "$(ARCH)" == "AMD64"
GMPDIR=mpir\x64
!else
GMPDIR=mpir\win32
!endif
install: build mkdir
for %i in ( asir32gui\asirgui.exe asir32gui\ja.dll engine2000\engine.exe mcpp\cpp.exe post-msg-asirgui\cmdasir.exe ..\asir2018\asir.exe curl.exe unzip.exe $(GMPDIR)\*.dll ) do ( copy /b %i asir\bin )
echo import("names.rr")$$ end$$ > asir\share\skel\.asirrc
for %i in ( ..\asir2018\LICENSE gmp\COPYING.LIB ) do ( copy /b %i asir )
-robocopy post-msg-asirgui asir\share\editor asirgui.mac asir-mode.el install-ja-sjis.txt /nfl /ndl /njh /njs /np
-robocopy ..\asir2018\lib asir\lib\asir /nfl /ndl /njh /njs /np /xf help*.uu
-robocopy ..\..\OpenXM\src\asir-contrib\packages\src asir\lib\asir-contrib /nfl /ndl /njh /njs /np /mir /xd CVS /xf *.in *.c *.sh *-sh .keepme
-robocopy ..\..\OpenXM\src\asir-contrib\testing\noro asir\lib\asir-contrib de.rr gw.rr module_syz.rr mwl.rr rewrite.rr ndbf.rr /nfl /ndl /njh /njs /np
for %i in ( de.rr gw.rr module_syz.rr mwl.rr rewrite.rr ) do ( pushd asir\lib\asir-contrib && move %i noro_%i && popd)
pushd asir\lib\asir-contrib && move ndbf.rr nn_ndbf.rr && popd
zip: install
zip -r asir_$(OS)_%DATE:/=.%.zip asir
$(TARGET): $(OBJS) LICENSE.rtf zip
$(LIGHT) $(LTFLAGS) -out $(TARGET) $(OBJS)
## The wxs files were generated by heat.
## To update _contrib.wxs, run make WXS=1 _contrib.wxs
!ifdef WXS
_lib.wxs: zip
cd asir\lib && $(HEAT) dir asir $(HEATFLAGS) -dr LIB_ASIR -cg LibGrp -var "var.libDir" -out ..\..\_lib.wxs
_help.wxs: zip
cd asir && $(HEAT) dir help $(HEATFLAGS) -dr HELP -cg HelpGrp -var "var.helpDir" -out ..\_help.wxs
_contrib.wxs: zip
cd asir\lib && $(HEAT) dir asir-contrib $(HEATFLAGS) -dr LIB_ASIR_CONTRIB -cg ContribGrp -var "var.contribDir" -out ..\..\_contrib.wxs
!endif
wxsclean:
@del /q _*.wxs
clean:
@del /q *.wixobj
@del /q *.wixpdb
distclean: clean
@if exist asir ( rmdir /s /q asir )
@for %i in ( ..\asir-gc asir2000lib engine2000 mcpp asir32gui post-msg-asirgui ..\asir2018 ) do ( pushd %i && $(MAKE) -f Makefile.vc distclean && popd)
msiclean:
@del /q $(TARGET)
@del /q asir_$(OS)_*.msi
@del /q asir_$(OS)_*.zip