aboutsummaryrefslogblamecommitdiffstats
path: root/lib/ic/examples/all-against-all/Makefile.win32
blob: a8e480fd1f2ed285722b4bfb932b8a2a17779a8e (plain) (tree)
1
2
3
4
5


                  
                                                       
  










                                                                          


























































































































                                                                                                           
#
# %CopyrightBegin%
# 
# Copyright Ericsson AB 2000-2016. All Rights Reserved.
# 
# Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# 
# %CopyrightEnd%
#
#
# Point this at your version of OTP
OTPROOT=c:\Progra~1\erl5.0.1\

# Type actual IC Version
ICVSN=4.0.4

# Type actual Erl Interface Vesrion
EIVSN=3.2.2

# Type actual Erl Interface Vesrion
JIVSN=1.2

# IDL file(s)
IDLS=random.idl

# Own C-server files
CSRV=server.c callbacks.c
CSRVO=server.obj callbacks.obj

# Own C-client files
CCL=client.c
CCLO=client.obj

# Generated C-server files
GCSRVS=rmod_random__s.c
GCSRVSO=rmod_random__s.obj 

# Generated C-client files
GCCLS=rmod_random.c
GCCLSO=rmod_random.obj

# Includes
IFLAGS=-I"$(OTPROOT)\lib\ic-$(ICVSN)\include" \
	-I"$(OTPROOT)\lib\erl_interface-$(EIVSN)\include" 

LDFLAGS=/LIBPATH:"$(OTPROOT)\lib\ic-$(ICVSN)\priv\lib" \
	/LIBPATH:"$(OTPROOT)\lib\erl_interface-$(EIVSN)\lib"

LDLIBS=ic.lib erl_interface.lib ei.lib ws2_32.lib


# Erlang compiler
ERLC=$(OTPROOT)\bin\erlc

# Erlang compiler flags. 
EFLAGS="+{scoped_op_calls,true}" 


# C compiler
CC=cl

# C compiler flags
CFLAGS=-MT -D__WIN32__ $(IFLAGS)


# Java compiler
JAVAC=c:\Progra~1\jdk1.3\bin\javac

# Java
JAVA=c:\Progra~1\jdk1.3\bin\java


# Java compiler flags
CLASSPATH= ".;$(OTPROOT)\lib\ic-$(ICVSN)\priv\ic.jar;$(OTPROOT)\lib\jinterface-$(JIVSN)\priv\OtpErlang.jar"
JFLAGS=-classpath $(CLASSPATH) -O


all: server.exe client.exe client.beam client.class


server.exe:  
	$(ERLC) $(EFLAGS) "+{be,c_server}" $(IDLS)
	$(CC) -c $(CFLAGS) $(CSRV) $(GCSRVS) 
	$(CC) -o server.exe $(CSRVO) $(GCSRVSO) -link $(LDFLAGS) $(LDLIBS) 


client.exe:
	$(ERLC) $(EFLAGS) "+{be,c_client}" $(IDLS)
	$(CC) -c $(CFLAGS) $(CCL) $(GCCLS)
	$(CC) -o client.exe $(CCLO) $(GCCLSO) -link $(LDFLAGS) $(LDLIBS) 

client.beam:
	$(ERLC) $(EFLAGS) "+{be,erl_genserv}" $(IDLS)
	$(ERLC) *.erl

client.class:
	$(ERLC) $(EFLAGS) "+{be,java}" $(IDLS)
	$(JAVAC) $(JFLAGS) rmod/*.java 
	$(JAVAC) $(JFLAGS) *.java 

jclient.run:
	$(JAVA) -classpath $(CLASSPATH) client

jserver.run:
	$(JAVA) -classpath $(CLASSPATH) server


clean: 
	-@del /f /q rmod
	-@rmdir rmod
	-@del *.jam 
	-@del *.beam 
	-@del oe* 
	-@del *.h 
	-@del *.hrl 
	-@del server.exe 
	-@del client.exe
	-@del *.obj
	-@del rmod_random*.c
	-@del *~
	-@del *class
	-@del rmod.erl
	-@del rmod_random.erl