Makefile revision e75c2484bff064fbbf51e92aed4f37b08e6427b7
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen#
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# CDDL HEADER START
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen#
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# The contents of this file are subject to the terms of the
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# Common Development and Distribution License, Version 1.0 only
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# (the "License"). You may not use this file except in compliance
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# with the License.
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen#
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# You can obtain a copy of the license at
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# trunk/opends/resource/legal-notices/OpenDS.LICENSE
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# or https://OpenDS.dev.java.net/OpenDS.LICENSE.
c0537dcfe264414d52ad86579d57cb0cb2183dcbAlex Valavanis# See the License for the specific language governing permissions
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# and limitations under the License.
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen#
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# When distributing Covered Code, include this CDDL HEADER in each
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# file and include the License file at
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# add the following below this CDDL HEADER, with the fields enclosed
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# by brackets "[]" replaced with your own identifying information:
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# Portions Copyright [yyyy] [name of copyright owner]
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen#
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# CDDL HEADER END
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould#
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen#
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# Copyright 2008 Sun Microsystems, Inc.
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# Portions Copyright 2011 ForgeRock AS
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen#
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# This is the Makefile than can be used to generate the executables
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen# winlauncher.exe and opendj_service.exe that are used by OpenDS in
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# windows.
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould#
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# The compilation of winlauncher.exe is straightforward but in the case of
5cf332777b4c27336d64c273ac63bce3ee27a53dAlex Valavanis# opendj_service.exe uses a Message File called EventLogMsg.mc which
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# makes the compilation a little bit more complex.
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# During compilation the first step is to generate EventLogMsg.h and
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# EventLogMsg.res using the rc.exe and mc.exe utilities.
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould#
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# EventLogMsg.h contains some references to the message IDs that are sent to
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# the Windows Event Log and is required in order service.c to be compiled.
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# Once the EvenLogMsg.h file is generated we can compile the service.c and
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# common.c and finally we link the service.obj, common.obj and
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould# EventLogMsg.res files and we generate the opendj_service.exe executable.
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould#
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldCC=cl
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldSERVICE_PROGNAME=opendj_service.exe
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldLAUNCHER_ADMINISTRATOR_PROGNAME=launcher_administrator.exe
d37634d73670180f99a3e0ea583621373d90ec4fJohan EngelenWINLAUNCHER_PROGNAME=winlauncher.exe
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldLINKER=link -nologo /machine:x86
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldLIBS=advapi32.lib
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldCFLAGS= -D_WINDOWS -nologo -W3 -O2
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldRC=rc
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldMC=mc
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelenMT=mt
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelenSRCS = common.c winlauncher.c service.c
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelenSERVICE_OBJS = common.obj service.obj
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldWINLAUNCHER_OBJS = common.obj winlauncher.obj
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldEVENTLOG_H = EventLogMsg.h
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelenMC_FILE = EventLogMsg.mc
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldRC_FILE = EventLogMsg.rc
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldRES_FILE = EventLogMsg.res
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldSERVICE_MANIFEST_FILE = opendj_service.exe.manifest
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed GouldLAUNCHER_ADMINISTRATOR_MANIFEST_FILE = launcher_administrator.exe.manifest
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould.c.obj:
6c3e745a94ef6b25a4ef9f018d350a7535aa45afTed Gould $(CC) $(CFLAGS) -c $< -Fo$@
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen$(RES_FILE):
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen $(MC) $(MC_FILE)
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen $(RC) /fo $(RES_FILE) $(RC_FILE)
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelenall: $(SERVICE_PROGNAME) $(WINLAUNCHER_PROGNAME) $(LAUNCHER_ADMINISTRATOR_PROGNAME)
4b6d620057c6cbaf072607eda6d18a7934fc19c8johanengelen
$(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