Makefile revision 6983
0075dcb5aeeee4864fe9f64db82c8a8202bbe6d6henning mueller#
aead985e48027c9df1ef553b17df29dd378757aaJulian Kornberger# CDDL HEADER START
5cad3e82e8c017bc189c4cecc00541ec19a2a6e2Julian Kornberger#
87107747f8a51d0f07c2e2a415fcf9c494783f0fhenning mueller# The contents of this file are subject to the terms of the
9c9b4f0d0199c3b1dbff564b87435b6693b7e692Julian Kornberger# Common Development and Distribution License, Version 1.0 only
b2dbef8c73faa240d208f3ff9fb49b21d9a894a5Daniel Vale# (the "License"). You may not use this file except in compliance
dda6f544eb58d850394073e34ae6127498869a77Christian Clausen# with the License.
dda6f544eb58d850394073e34ae6127498869a77Christian Clausen#
0075dcb5aeeee4864fe9f64db82c8a8202bbe6d6henning mueller# You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
cbb18f95cb8354f0c3fb44ba5134dadc7ad6b2ecJulian Kornberger# or http://forgerock.org/license/CDDLv1.0.html.
3cd45197413df1ff1401697720f1ac9ccef8f8eehenning mueller# See the License for the specific language governing permissions
1b6021653a43264993b21ebb20e0119aa2fd6741henning mueller# and limitations under the License.
1b6021653a43264993b21ebb20e0119aa2fd6741henning mueller#
acb3db0ee20cd276e305da358a03b30666976db0Daniel Couto Vale# When distributing Covered Code, include this CDDL HEADER in each
22e260fcd85642794d99c2ffaa333f2ef6ed7828Daniel Couto Vale# file and include the License file at legal-notices/CDDLv1_0.txt.
ecf32c9d659a1f42c730d61eaa93583c095a4fddhenning mueller# If applicable, add the following below this CDDL HEADER, with the
a14e1ccbd2588441fb5a59e0c82f895b5c42c298Julian Kornberger# fields enclosed by brackets "[]" replaced with your own identifying
a14e1ccbd2588441fb5a59e0c82f895b5c42c298Julian Kornberger# information:
0772cf7b22adf46dbab68e829d6a2cd8e8d1bc2ahenning mueller# Portions Copyright [yyyy] [name of copyright owner]
432ee743a5f1c5688c73446b5977b06ed97fb67cJulian Kornberger#
b9f99a06294e593ce8fb34b015e83003229db058Julian Kornberger# CDDL HEADER END
b9f99a06294e593ce8fb34b015e83003229db058Julian Kornberger#
b3b159fb3284b66d0f8189a6a145c8163ccdae68henning mueller#
7ea9649883e1bbe8f2582db1a3c66af8b7206056henning mueller# Copyright 2008 Sun Microsystems, Inc.
a5015ca9daa067f062e9e373c3dfafd5631560d9Julian Kornberger# Portions Copyright 2011 ForgeRock AS
a5015ca9daa067f062e9e373c3dfafd5631560d9Julian Kornberger
631f43db46ad7d375010c3169c81764eb27270a3Julian Kornberger#
631f43db46ad7d375010c3169c81764eb27270a3Julian Kornberger# This is the Makefile than can be used to generate the executables
631f43db46ad7d375010c3169c81764eb27270a3Julian Kornberger# winlauncher.exe and opendj_service.exe that are used by OpenDS in
631f43db46ad7d375010c3169c81764eb27270a3Julian Kornberger# windows.
631f43db46ad7d375010c3169c81764eb27270a3Julian Kornberger#
ffddc54fc6bb11130abd3281dcd95159c7f3ce7fJulian Kornberger# The compilation of winlauncher.exe is straightforward but in the case of
a14e1ccbd2588441fb5a59e0c82f895b5c42c298Julian Kornberger# opendj_service.exe uses a Message File called EventLogMsg.mc which
ffddc54fc6bb11130abd3281dcd95159c7f3ce7fJulian Kornberger# makes the compilation a little bit more complex.
ffddc54fc6bb11130abd3281dcd95159c7f3ce7fJulian Kornberger# During compilation the first step is to generate EventLogMsg.h and
ae2ba7aeef036808e81fb6449e98ce9abb0fb234Daniel Couto Vale# EventLogMsg.res using the rc.exe and mc.exe utilities.
7dc318cbd9f8c97406b48051005f23953e9e8a25Daniel Vale#
ae2ba7aeef036808e81fb6449e98ce9abb0fb234Daniel Couto Vale# EventLogMsg.h contains some references to the message IDs that are sent to
43a0f914166a28a9d7f75ab10673dce129cb38a9Julian Kornberger# the Windows Event Log and is required in order service.c to be compiled.
43a0f914166a28a9d7f75ab10673dce129cb38a9Julian Kornberger# Once the EvenLogMsg.h file is generated we can compile the service.c and
43a0f914166a28a9d7f75ab10673dce129cb38a9Julian Kornberger# common.c and finally we link the service.obj, common.obj and
43a0f914166a28a9d7f75ab10673dce129cb38a9Julian Kornberger# EventLogMsg.res files and we generate the opendj_service.exe executable.
43a0f914166a28a9d7f75ab10673dce129cb38a9Julian Kornberger#
acb3db0ee20cd276e305da358a03b30666976db0Daniel Couto Vale
8d4d8ac34f199d5c7d26694fabbfe2ab6bc0f9d9henning muellerCC=cl
8d4d8ac34f199d5c7d26694fabbfe2ab6bc0f9d9henning muellerSERVICE_PROGNAME=opendj_service.exe
acb3db0ee20cd276e305da358a03b30666976db0Daniel Couto ValeLAUNCHER_ADMINISTRATOR_PROGNAME=launcher_administrator.exe
acb3db0ee20cd276e305da358a03b30666976db0Daniel Couto ValeWINLAUNCHER_PROGNAME=winlauncher.exe
a14e1ccbd2588441fb5a59e0c82f895b5c42c298Julian KornbergerLINKER=link -nologo /machine:x86
8d4d8ac34f199d5c7d26694fabbfe2ab6bc0f9d9henning muellerLIBS=advapi32.lib
8d4d8ac34f199d5c7d26694fabbfe2ab6bc0f9d9henning mueller
acb3db0ee20cd276e305da358a03b30666976db0Daniel Couto ValeCFLAGS= -D_WINDOWS -nologo -W3 -O2
ecf32c9d659a1f42c730d61eaa93583c095a4fddhenning muellerRC=rc
ecf32c9d659a1f42c730d61eaa93583c095a4fddhenning muellerMC=mc
ecf32c9d659a1f42c730d61eaa93583c095a4fddhenning muellerMT=mt
ecf32c9d659a1f42c730d61eaa93583c095a4fddhenning mueller
ecf32c9d659a1f42c730d61eaa93583c095a4fddhenning muellerSRCS = common.c winlauncher.c service.c
1b6021653a43264993b21ebb20e0119aa2fd6741henning mueller
1b6021653a43264993b21ebb20e0119aa2fd6741henning muellerSERVICE_OBJS = common.obj service.obj
1b6021653a43264993b21ebb20e0119aa2fd6741henning muellerWINLAUNCHER_OBJS = common.obj winlauncher.obj
1b6021653a43264993b21ebb20e0119aa2fd6741henning mueller
0075dcb5aeeee4864fe9f64db82c8a8202bbe6d6henning muellerEVENTLOG_H = EventLogMsg.h
MC_FILE = EventLogMsg.mc
RC_FILE = EventLogMsg.rc
RES_FILE = EventLogMsg.res
SERVICE_MANIFEST_FILE = opendj_service.exe.manifest
LAUNCHER_ADMINISTRATOR_MANIFEST_FILE = launcher_administrator.exe.manifest
.c.obj:
$(CC) $(CFLAGS) -c $< -Fo$@
$(RES_FILE):
$(MC) $(MC_FILE)
$(RC) /fo $(RES_FILE) $(RC_FILE)
all: $(SERVICE_PROGNAME) $(WINLAUNCHER_PROGNAME) $(LAUNCHER_ADMINISTRATOR_PROGNAME)
$(SERVICE_PROGNAME) : $(RES_FILE) $(SERVICE_OBJS)
$(LINKER) /OUT:$(SERVICE_PROGNAME) $(RES_FILE) $(SERVICE_OBJS) $(LIBS)
$(MT) -manifest "$(SERVICE_MANIFEST_FILE)" -outputresource:"$(SERVICE_PROGNAME)";#1
$(WINLAUNCHER_PROGNAME) : $(WINLAUNCHER_OBJS)
$(LINKER) $(WINLAUNCHER_OBJS) /OUT:$(WINLAUNCHER_PROGNAME)
$(LAUNCHER_ADMINISTRATOR_PROGNAME) : $(WINLAUNCHER_OBJS)
$(LINKER) $(WINLAUNCHER_OBJS) /OUT:$(LAUNCHER_ADMINISTRATOR_PROGNAME)
$(MT) -manifest "$(LAUNCHER_ADMINISTRATOR_MANIFEST_FILE)" -outputresource:"$(LAUNCHER_ADMINISTRATOR_PROGNAME)";#1
clean:
del $(SERVICE_OBJS) $(EVENTLOG_H) $(WINLAUNCHER_OBJS) $(RC_FILE) $(RES_FILE) $(SERVICE_PROGNAME) $(WINLAUNCHER_PROGNAME) $(LAUNCHER_ADMINISTRATOR_PROGNAME) core