2025-04-27 07:49:33 -04:00

361 lines
14 KiB
Makefile

##############################################################################
#
# Copyright (C) Microsoft Corporation 2000
# All Rights Reserved.
#
# Makefile for Darwin Setup for Korean IME
#
# 2000-01-13 : Created(CSLim)
#
##############################################################################
PERL = Perl.exe
!IF "$(CFG)" != "ship" && "$(CFG)" != "debug"
!MESSAGE IME2001 Setup scripts
!MESSAGE
!MESSAGE To distigush debug and ship build, Pls. specify CFG variable.
!MESSAGE
!MESSAGE NMAKE CFG="debug" or NMAKE CFG="ship"
!MESSAGE
!MESSAGE Default will be ship build
!ERROR Pls. Set CFG.
!ENDIF
###############################################################################
# Setup directories
###############################################################################
# Image directories
!IF "$(CFG)" == "debug"
IMAGE = $(MAKEDIR)\Imaged
!ELSE
IMAGE = $(MAKEDIR)\Image
!ENDIF
INSTMSI = $(IMAGE)\InstMsi
SYSTEM = $(IMAGE)\System
SYSTEM95 = $(IMAGE)\System95
WINDOWS = $(IMAGE)\Windows
HELPDIR = $(WINDOWS)\Help
IME = $(WINDOWS)\IME
IMEKRRES = $(IME)\1042
IMEKR = $(IME)\IMEKR
DICTS = $(IMEKR)\Dicts
APPLETS = $(IMEKR)\Applets
#Darwin table directories
#TABLES = $(MAKEDIR)\Tables
#KTABLES = $(MAKEDIR)\K-Tables
#Merge module table and image dicrectories
MMODTBL = $(MAKEDIR)\MModTbl
!IF "$(CFG)" == "debug"
MERGEMOD = $(MAKEDIR)\MSMDebug
!ELSE
MERGEMOD = $(MAKEDIR)\MSM
!ENDIF
#Frame table for MSM merge test
FRAMETBL = $(MAKEDIR)\FrameTbl
# DDF & Perl files
!IF "$(CFG)" == "debug"
IMEKORDDF = $(MMODTBL)\imekord.ddf
IMEKORINF = imekord.inf
!ELSE
IMEKORDDF = $(MMODTBL)\imekor.ddf
IMEKORINF = imekor.inf
!ENDIF
###############################################################################
# C O N T E N T S
###############################################################################
# All dependent binaries which will be included in setup
CONTENTS = $(IMAGE)\Setup.exe \
$(IMAGE)\CustDllM.dll \
$(INSTMSI)\InstMsiA.exe $(INSTMSI)\InstMsiW.exe \
$(SYSTEM)\IMEKR.IME $(DICTS)\IMEKR.LEX \
$(DICTS)\HANJADIC.DLL $(DICTS)\HANJA.LEX \
$(SYSTEM95)\COMCTL32.DLL \
$(HELPDIR)\IMEKR.HLP $(HELPDIR)\IMEKREN.HLP \
$(HELPDIR)\IMEKR.CHM $(HELPDIR)\IMEKREN.CHM \
$(HELPDIR)\IMEPADKO.CHM $(HELPDIR)\IMEPADKE.CHM \
$(IME)\imepadsm.dll $(IME)\imepadsv.exe \
$(IMEKRRES)\imepadrs.dll \
$(IMEKR)\imekrcic.dll \
$(IMEKR)\imekrmig.exe \
$(APPLETS)\multibox.dll
###############################################################################
# A L L
###############################################################################
ALL : DIR COPY-BUILD CAB ClassTable ProgIDTable FileTable PropertyTable RegistryTable SInfoTable ModSigTable MSI MSM
###############################################################################
# A L L
###############################################################################
INCBUILD : DEL_GEN_IDT CAB ClassTable ProgIDTable FileTable PropertyTable RegistryTable SInfoTable ModSigTable MSI MSM
###############################################################################
# C L E A N
###############################################################################
CLEAN :
#Clean up image directory
#DEL /Q /S $(IMAGE)\*.*
if exist disk1 rmdir /S /Q disk1
if exist $(MERGEMOD) rmdir /S /Q $(MERGEMOD)
# Delete all image files to make sure all files are fresh.
if exist $(IMAGE)\Setup.exe DEL $(IMAGE)\Setup.exe
if exist $(IMAGE)\CustdllM.dll DEL $(IMAGE)\CustdllM.dll
DEL $(IMEKR)\imekrmig.exe
DEL $(INSTMSI)\InstMsiA.exe
DEL $(INSTMSI)\InstMsiW.exe
DEL $(SYSTEM)\IMEKR.IME
DEL $(DICTS)\IMEKR.LEX
DEL $(DICTS)\HANJA.LEX
DEL $(DICTS)\HANJADIC.DLL
DEL $(SYSTEM95)\COMCTL32.DLL
DEL $(HELPDIR)\IMEKR.HLP
DEL $(HELPDIR)\IMEKREN.HLP
DEL $(HELPDIR)\IMEKR.CHM
DEL $(HELPDIR)\IMEKREN.CHM
DEL $(HELPDIR)\IMEPADKO.CHM
DEL $(HELPDIR)\IMEPADKE.CHM
DEL $(IMEKR)\imekrcic.dll
DEL $(APPLETS)\multibox.dll
# Clean up INF files
if exist fileprop.inf DEL fileprop.inf
if exist imekor.inf DEL imekor.inf
if exist imekord.inf DEL imekord.inf
if exist setup.rpt DEL setup.rpt
# Clena up Tables and K-Spec generated files
# if exist $(TABLES)\Binary\CustDll.dll del $(TABLES)\Binary\CustDll.dll
# if exist $(TABLES)\file.idt del $(TABLES)\File.idt
# if exist $(TABLES)\property.idt del $(TABLES)\property.idt
# if exist $(TABLES)\registry.idt del $(TABLES)\registry.idt
# if exist $(TABLES)\_sinfo.idt del $(TABLES)\_sinfo.idt
# if exist $(KSPEC)\property.idt del $(KSPEC)\property.idt
# if exist $(KSPEC)\_sinfo.idt del $(KSPEC)\_sinfo.idt
if exist $(FRAMETBL)\property.idt del $(FRAMETBL)\property.idt
if exist $(FRAMETBL)\_sinfo.idt del $(FRAMETBL)\_sinfo.idt
# Clean up Merge Module generated files
if exist $(MMODTBL)\Binary\CustDllM.dll del $(MMODTBL)\Binary\CustDllM.dll
if exist $(MMODTBL)\ModSig.idt del $(MMODTBL)\ModSig.idt
if exist $(MMODTBL)\File.idt del $(MMODTBL)\File.idt
if exist $(MMODTBL)\ModSig.idt del $(MMODTBL)\ModSig.idt
if exist $(MMODTBL)\Registry.idt del $(MMODTBL)\Registry.idt
if exist $(MMODTBL)\progid.idt del $(MMODTBL)\progid.idt
###############################################################################
# D E L G E N I D T
###############################################################################
DEL_GEN_IDT:
if exist $(FRAMETBL)\property.idt del $(FRAMETBL)\property.idt
if exist $(FRAMETBL)\_sinfo.idt del $(FRAMETBL)\_sinfo.idt
if exist $(MMODTBL)\ModSig.idt del $(MMODTBL)\ModSig.idt
if exist $(MMODTBL)\File.idt del $(MMODTBL)\File.idt
if exist $(MMODTBL)\ModSig.idt del $(MMODTBL)\ModSig.idt
if exist $(MMODTBL)\Registry.idt del $(MMODTBL)\Registry.idt
if exist $(MMODTBL)\progid.idt del $(MMODTBL)\progid.idt
###############################################################################
# D I R
###############################################################################
# Setup image directories. Created each if not exist
DIR : $(IMAGE) $(INSTMSI) $(SYSTEM) $(SYSTEM95) $(WINDOWS) $(HELPDIR) $(IME) $(IMEKRRES) $(IMEKR) $(DICTS) $(APPLETS) $(MERGEMOD)
# Image dirs
"$(IMAGE)" :
if not exist "$(IMAGE)/$(NULL)" mkdir "$(IMAGE)"
"$(INSTMSI)" :
if not exist "$(INSTMSI)/$(NULL)" mkdir "$(INSTMSI)"
"$(SYSTEM)" :
if not exist "$(SYSTEM)/$(NULL)" mkdir "$(SYSTEM)"
"$(SYSTEM95)" :
if not exist "$(SYSTEM95)/$(NULL)" mkdir "$(SYSTEM95)"
"$(WINDOWS)" :
if not exist "$(WINDOWS)/$(NULL)" mkdir "$(WINDOWS)"
"$(HELPDIR)" :
if not exist "$(HELPDIR)/$(NULL)" mkdir "$(HELPDIR)"
"$(IME)" :
if not exist "$(IME)/$(NULL)" mkdir "$(IME)"
"$(IMEKRRES)" :
if not exist "$(IMEKRRES)/$(NULL)" mkdir "$(IMEKRRES)"
"$(IMEKR)" :
if not exist "$(IMEKR)/$(NULL)" mkdir "$(IMEKR)"
"$(DICTS)" :
if not exist "$(DICTS)/$(NULL)" mkdir "$(DICTS)"
"$(APPLETS)" :
if not exist "$(APPLETS)/$(NULL)" mkdir "$(APPLETS)"
# Merge Module image dirs
"$(MERGEMOD)" :
if not exist "$(MERGEMOD)/$(NULL)" mkdir "$(MERGEMOD)"
###############################################################################
# C O P Y B U I L D
###############################################################################
COPY-BUILD : $(CONTENTS)
$(IMAGE)\Setup.exe : $(BLDTREE)\Setup\Setup.exe
copy $** $@ > nul
$(IMAGE)\CustdllM.dll : $(BLDTREE)\Setup\CustDllM.dll
copy $** $@ > nul
$(IMEKR)\imekrmig.exe : $(BLDTREE)\Migration\ImeKrMig.exe
copy $** $@ > nul
#$(TABLES)\Binary\CustDll.dll : $(BLDTREE)\Setup\CustDll.dll
# copy $** $@ > nul
#$(MMODTBL)\Binary\CustDllM.dll : $(BLDTREE)\Setup\CustDllM.dll
# copy $** $@ > nul
$(INSTMSI)\InstMsiA.exe : .\Redist\InstMsiA.EXE
copy $** $@ > nul
$(INSTMSI)\InstMsiW.exe : .\Redist\InstMsiW.EXE
copy $** $@ > nul
$(SYSTEM)\IMEKR.IME : $(BLDTREE)\Main\IMEKR.IME
copy $** $@ > nul
$(DICTS)\IMEKR.LEX : ..\Dicts\IMEKR.LEX
copy $** $@ > nul
$(DICTS)\HANJA.LEX : ..\Dicts\HANJA.LEX
copy $** $@ > nul
$(DICTS)\HANJADIC.DLL : $(BLDTREE)\Dicts\HANJADIC.DLL
copy $** $@ > nul
$(SYSTEM95)\COMCTL32.DLL : .\Redist\COMCTL32.DLL
copy $** $@ > nul
$(HELPDIR)\IMEKR.HLP : ..\Help\IMEKR.HLP
copy $** $@ > nul
$(HELPDIR)\IMEKREN.HLP : ..\Help\IMEKREN.HLP
copy $** $@ > nul
$(HELPDIR)\IMEKR.CHM : ..\Help\IMEKR.CHM
copy $** $@ > nul
$(HELPDIR)\IMEKREN.CHM : ..\Help\IMEKREN.CHM
copy $** $@ > nul
$(HELPDIR)\IMEPADKO.CHM : ..\Help\IMEPADKO.CHM
copy $** $@ > nul
$(HELPDIR)\IMEPADKE.CHM : ..\Help\IMEPADKE.CHM
copy $** $@ > nul
$(IMEKR)\imekrcic.dll : $(BLDTREE)\Main\IMEKRCIC.dll
copy $** $@ > nul
$(APPLETS)\multibox.dll : $(BLDTREE)\Applets\multibox.dll
copy $** $@ > nul
###############################################################################
# I N F
###############################################################################
#INF : fileprop.inf
#fileprop.inf: $(CONTENTS) $(FILEPROPDDF)
# diamond.exe /F $(FILEPROPDDF)
###############################################################################
# C A B
###############################################################################
CAB :
if exist $(MERGEMOD)\MergeModule.CABinet del $(MERGEMOD)\MergeModule.CABinet
diamond.exe /F $(IMEKORDDF)
###############################################################################
# C L A S S T A B L E
###############################################################################
ClassTable: $(MMODTBL)\class.idt
$(MMODTBL)\class.idt: clsid.h $(MMODTBL)\class.tpl
$(PERL) $(MMODTBL)\mkclstbl.pl
###############################################################################
# P R O G I D T A B L E
###############################################################################
ProgIDTable: $(MMODTBL)\progid.idt
$(MMODTBL)\progid.idt: clsid.h $(MMODTBL)\progid.tpl
$(PERL) $(MMODTBL)\mkpidtbl.pl
###############################################################################
# F I L E T A B L E
###############################################################################
FileTable : $(MMODTBL)\File.idt
$(MMODTBL)\File.idt : $(IMEKORINF) $(MMODTBL)\File.tpl
$(PERL) $(MMODTBL)\MKFlTbl.pl $(IMEKORINF)
###############################################################################
# P R O P E R T Y T A B L E
###############################################################################
PropertyTable : $(FRAMETBL)\property.idt
# Create Property tables
$(FRAMETBL)\property.idt : $(IMEKORINF) $(FRAMETBL)\property.tpl
$(PERL) MKPRPTbl.pl $(IMEKORINF) $(FRAMETBL)\property.tpl >$@
###############################################################################
# R E G I S T R Y T A B L E
###############################################################################
# Create Registry tables
RegistryTable : $(MMODTBL)\Registry.idt
$(MMODTBL)\registry.idt : $(IMEKORINF) clsid.h $(MMODTBL)\registry.tpl
$(PERL) $(MMODTBL)\MKRegTbl.pl $(IMEKORINF)
###############################################################################
# S I N F O T A B L E
###############################################################################
# Create Summary Info tables
SInfoTable : $(FRAMETBL)\_sinfo.idt
$(FRAMETBL)\_sinfo.idt: $(FRAMETBL)\_sinfo.tpl
$(PERL) MKSInfo.pl <$(FRAMETBL)\_sinfo.tpl >$@
###############################################################################
# M O D S I G T A B L E
###############################################################################
# Create module signature tables
ModSigTable : $(MMODTBL)\ModSig.idt
$(MMODTBL)\ModSig.idt: $(IMEKORINF) $(MMODTBL)\ModSig.tpl
$(PERL) $(MMODTBL)\MkModSig.pl $(IMEKORINF) $(MMODTBL)\ModSig.tpl >$@
###############################################################################
# M S I
###############################################################################
MSI : $(MERGEMOD)\imekr.msi
#$(IMAGE)\ImeKr.msi: $(TABLES)\*.idt $(TABLES)\Binary\*
# if exist $(IMAGE)\imekr.msi del $(IMAGE)\imekr.msi
# msidb -c -d $(IMAGE)\imekr.msi -f $(TABLES) *.idt
$(MERGEMOD)\imekr.msi: $(FRAMETBL)\*.idt $(FRAMETBL)\Binary\*
if exist $(MERGEMOD)\imekr.msi del $(MERGEMOD)\imekr.msi
msidb -c -d $(MERGEMOD)\imekr.msi -f $(FRAMETBL) *.idt
###############################################################################
# M S M
###############################################################################
MSM : $(MERGEMOD)\imekor.msm
$(MERGEMOD)\imekor.msm : $(MMODTBL)\*.idt $(MMODTBL)\Binary\*
copy $(IMAGE)\CustdllM.dll $(MMODTBL)\Binary
if exist $(MERGEMOD)\imekor.msm del $(MERGEMOD)\imekor.msm
msidb -c -d $(MERGEMOD)\imekor.msm -f $(MMODTBL) *.idt -a $(MERGEMOD)\MergeModule.CABinet
###############################################################################
# K M S I
###############################################################################
#KMSI : ktables $(KTABLES)\imekr-k.msi $(IMAGE)\jres.mst
# Copy Korean Tables
#KTABLES :
# xcopy /y /i /s $(TABLES) $(KTABLES)
# copy $(KSPEC)\*.idt $(KTABLES)
#$(KTABLES)\imekr-k.msi: $(KTABLES)\*.idt $(KTABLES)\Binary\*
# if exist $(JTABLES)\imekr-k.msi del $(JTABLES)\imekr-k.msi
# msidb -c -d $(JTABLES)\imekr-k.msi -f $(KTABLES) *.idt