# $Revision: 60692 $
## @file makefile.tstLinuxC
# Makefile for sample program illustrating use of C binding for XPCOM.
#

#
# Copyright (C) 2009 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#

INCS_XPCOM    = -I../../include
GLUE_DIR      = ..
GLUE_INC      = -I..

CC            = gcc
CFLAGS        = -g -Wall

.PHONY: all
all: tstXPCOMCGlue tstXPCOMCCall

.PHONY: clean
clean:
	rm -f tstXPCOMCGlue.o tstXPCOMCGlue VBoxXPCOMCGlue.o tstXPCOMCCall.o tstXPCOMCCall

tstXPCOMCGlue: tstXPCOMCGlue.o VBoxXPCOMCGlue.o
	$(CC) -o $@ $^ -ldl

tstXPCOMCGlue.o: tstXPCOMCGlue.c
	$(CC) $(CFLAGS) $(INCS_XPCOM) $(GLUE_INC) -o $@ -c $<

tstXPCOMCCall: tstXPCOMCCall.o VBoxXPCOMCGlue.o
	$(CC) -o $@ $^ -ldl -lpthread

tstXPCOMCCall.o: tstXPCOMCCall.c
	$(CC) $(CFLAGS) $(INCS_XPCOM) $(GLUE_INC) -o $@ -c $<

VBoxXPCOMCGlue.o: $(GLUE_DIR)/VBoxXPCOMCGlue.c
	$(CC) $(CFLAGS) $(INCS_XPCOM) $(GLUE_INC) -o $@ -c $<
