# # %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