#  Copyright (c) 1993-1994 Mats O Jansson, Stockholm, Sweden
#  All rights reserved.
#
# @(#) $Id: Makefile,v 1.4 1996/08/13 18:43:56 moj Exp $

# Script (or program) that returns the machine and os types,
# or jsut edit in the name yourself.
MD=`linux`
OS=`linux`

CCOPT = -O
INCLUDES = -I..
SPEC_FLAGS=

# Standard CFLAGS
STANDARD_CFLAGS = $(CCOPT) $(SPEC_FLAGS) $(DEFINES) $(INCLUDES)

# CFLAGS definitions per machine vs. os
CFLAGS = $(STANDARD_CFLAGS) 

#sun4-sunos5#LIB = -lsocket

# Change these to cc/lex/yacc if you don't have gcc, flex and/or bison.
CC = gcc 
LEX = lex
YACC = yacc -y
MAKE = make

# Explicitly define compiliation rule since SunOS 4's make doesn't like gcc.
# Also, gcc does not remove the .o before forking 'as', which can be a
# problem if you don't own the file but can write to the directory.
.c.o:
	rm -f $@; $(CC) $(CFLAGS) -c $*.c

DIRS=	mopchk mopd mopprobe moptrace

CHFIL=	mopchk.c
CHOBJ=	mopchk.o
CHHDR=	
LDFIL=	mopd.c process.c
LDOBJ=	mopd.o process.o
LDHDR=	process.h
PBFIL=	mopprobe.c
PBOBJ=	mopprobe.o
PBHDR=
TRFIL=	moptrace.c
TROBJ=	moptrace.o
TRHDR=


COFIL=	cmp.c device.c dl.c get.c mopdef.c nma.c print.c rc.c
COOBJ=	cmp.o device.o dl.o get.o mopdef.o nma.o print.o rc.o
OTOBJ=	pf.o loop.o




image:	moptrace

MFLAGS=


mopchk:	$(CHOBJ) $(COOBJ) $(OTOBJ) version.o
	$(CC) $(CFLAGS) -o $@ $(CHOBJ) $(COOBJ) $(OTOBJ) version.o $(LIB)

mopd:	$(LDOBJ) $(COOBJ) $(OTOBJ) version.o
	$(CC) $(CFLAGS) -o $@ $(LDOBJ) $(COOBJ) $(OTOBJ) version.o $(LIB)

mopprobe: $(PBOBJ) $(COOBJ) $(OTOBJ) version.o
	$(CC) $(CFLAGS) -o $@ $(PBOBJ) $(COOBJ) $(OTOBJ) version.o $(LIB)

moptrace: $(TROBJ) $(COOBJ) $(OTOBJ) version.o
	$(CC) $(CFLAGS) -o $@ $(TROBJ) $(COOBJ) $(OTOBJ) version.o $(LIB)

VERSION: 
	@ln -s ../../../common/VERSION VERSION

version.o: version.c
version.c version.h: VERSION
	rm -f version.c ; sed 's/.*/char version[] = "&";/' VERSION > version.c
	set `sed 's/\([0-9]*\)\.\([0-9]*\).*/\1 \2/' VERSION` ; \
		{ echo '#define VERSION_MAJOR' $$1 ; \
		  echo '#define VERSION_MINOR' $$2 ; } > version.h

force:	/tmp
