# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Kagetaka Libraries.
#
# The Initial Developer of the Original Code is Hizuya Atsuzaki
# Portions created by the Initial Developer are Copyright (C) 2003
# the Initial Developer. All Rights Reserved.
#
# Contributor(s): Hizuya Atsuzaki <hizuya@hizlab.net>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

# Makefile for Microsoft NMAKE.EXE
#
# fobOrhɂ́A
# > NAMKE.EXE DEBUG=1
# ƂĉB
#
CC     = CL.EXE
LD     = LINK.EXE
RC     = RC.EXE

CFLAGS_USER  = 
LDFLAGS_USER = 
RCFLAGS_USER = 

NAME    = kagetaka
OUTDIR  = ..\..\..\..\out\build\ext\win32\launcher
EXEDIR  = ..\..\..\..\out\dist\bin

## Mode
!IFDEF DEBUG
CFLAGS_MODE  = /Od /MLd /Gm /ZI /GZ /Fp$(OUTDIR)\$(NAME).pch /Fd$(OUTDIR)\ /FD
LDFLAGS_MODE = /opt:noicf,noref /debug /pdb:$(OUTDIR)\$(NAME).pdb
RCFLAGS_MODE = 
!ELSE
CFLAGS_MODE  = /O2 /ML
LDFLAGS_MODE = /opt:icf,ref
RCFLAGS_MODE = 
!ENDIF

## Global
CFLAGS  = /nologo /W3 /WX /Fo$(OUTDIR)\ \
          $(CFLAGS_MODE)  $(CFLAGS_USER)
LDFLAGS = /nologo /nodefaultlib /subsystem:windows /machine:I386 \
          /entry:"mainCRTStartup" $(LDFLAGS_MODE) $(LDFLAGS_USER)
RCFLAGS = /l411 \
          $(RCFLAGS_MODE) $(RCFLAGS_USER)


!IF "$(OS)" == "Windows_NT"
NULL =
!ELSE 
NULL = nul
!ENDIF 


LAST = $(EXEDIR)\$(NAME).exe
EXE  = $(OUTDIR)\$(NAME).exe
OBJS = $(OUTDIR)\util.obj \
       $(OUTDIR)\kagetaka.obj
RESS = $(OUTDIR)\kagetaka.res

LIBS = libc.lib kernel32.lib user32.lib


##########################
## Suffixes rule

.SUFFIXES:
.SUFFIXES: .c .obj .rc .res


##########################
## Target

all: $(OUTDIR) $(EXEDIR) $(LAST)

.c{$(OUTDIR)}.obj:
	$(CC) $(CFLAGS) /c $<

.rc{$(OUTDIR)}.res:
	$(RC) $(RCFLAGS) /fo$*.res $<

$(EXE): $(OBJS) $(RESS)
	$(LD) $(LDFLAGS) /out:$(EXE) $(OBJS) $(LIBS) $(RESS)

$(LAST): $(EXEDIR) $(EXE)
	copy /y $(EXE) $(LAST)

$(OUTDIR):
	if not exist $(OUTDIR)/$(NULL) mkdir $(OUTDIR)

$(EXEDIR):
	if not exist $(EXEDIR)/$(NULL) mkdir $(EXEDIR)

clean:
	-del /f /q $(OUTDIR)\*.obj $(OUTDIR)\*.lib $(OUTDIR)\*.exp \
	           $(OUTDIR)\*.pdb $(OUTDIR)\*.idb $(OUTDIR)\*.res \
	           $(OUTDIR)\*.ilk $(EXE) $(LAST)


##########################
## Source Files

util.c:     global.h resource.h util.h
kagetaka.c: global.h resource.h util.h

kagetaka.rc: version.h resource.h ..\..\..\bin\kagetaka1.ico ..\..\..\bin\kagetaka2.ico
