CC = egcc
MY = .
TIF = /usr/X11R6
OW = /usr/X11R6
SQL = /usr
GLB = /usr/local
LIBP = /usr/local/lib
CFLAGS = -g
LIB = -L/usr/lib

LOC = -I$(GLB)/include -L$(GLB)/lib -Wl,-R$(GLB)/lib
GTK = -I/usr/lib/glib/include -I/usr/X11R6/include -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -lglib -lXi -lXext -lX11 -lm
GTKLIB = -I/usr/lib/glib/include -I/usr/X11R6/include -L/usr/lib -L/usr/X11R6/lib
GUILE = -L/usr/lib -lguile -lqthreads -dl -lm -ldaescm		# if x86 remove -dl if it doesn't compile
CMU = -I$(GLB)/include/snmp -L$(GLB)/lib -Wl,-R$(GLB)/lib
XLIB = -I$(TIF)/include -I$(OW)/include -L$(TIF)/lib -L$(OW)/lib
DBLIB = -L$(SQL)/lib/mysql -I$(SQL)/include/mysql
MLIB = -Wl,-R$(MY)/lib -L$(MY)/lib
LLIB = -L$(GLB)/lib -Wl,-R$(GLB)/lib

86PERL = -rdynamic /usr/lib/perl5/i386-linux/5.004/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/i386-linux/5.004/CORE -lperl -lnsl -lndbm -ldb -lm -lc -lposix -lcrypt -Dbool=char -DHAS_BOOL -D_REENTRANT -I/usr/lib/perl5/i386-linux/5.004/CORE
86PERLLIB = -L/usr/lib/perl5/i386-linux/5.004/CORE -Dbool=char -DHAS_BOOL -D_REENTRANT -I/usr/lib/perl5/i386-linux/5.004/CORE

SSPERL = -rdynamic /usr/lib/perl5/sparc-linux/5.004/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/sparc-linux/5.004/CORE -lperl -lnsl -lndbm -ldb -ldl -lm -lc -lposix -lcrypt -Dbool=char -DHAS_BOOL -D_REENTRANT -I/usr/lib/perl5/sparc-linux/5.004/CORE
SSPERLLIB = -L/usr/lib/perl5/sparc-linux/5.004/CORE -Dbool=char -DHAS_BOOL -D_REENTRANT -I/usr/local/include  -I/usr/lib/perl5/sparc-linux/5.004/CORE


CMUFLAG = -lsnmp
#XFLAG = -lXm -lXt -lnmrxm
NFLAG = -lnsl
DFLAG = -lm -lmysqlclient
MFLAG = -ldaefc
AFLAG = $(XFLAG) $(NFLAG) $(MFLAG) $(CMUFLAG) $(DFLAG)
EFLAG = $(NFLAG) $(MFLAG) $(CMUFLAG) $(DFLAG)
SFLAG = $(NFLAG) -lnmrdb -lnmrfc $(DFLAG)

PDUD = -lsnmp -lieee -lnsl

OBJS = $(LIBP)/libdaefc.so $(LIBP)/libdae.so $(LIBP)/libdaescm.so glb_conf.c soc.c dae.c

######## GNOME ( from /usr/lib/gnome-Conf.sh ) ########

GNOME = -I/usr/include -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/X11R6/include -I/usr/lib/glib/include\
-lgnome -lgnomesupport -L/usr/lib -lesd -lm -laudiofile -ldb -lglib -ldl -lgnomeui -lart_lgpl -lgdk_imlib -L/usr/X11R6/lib\
-lgtk -lgdk -rdynamic -lgmodule -lXi -lXext -lX11 -lSM -lICE -lXpm -ljpeg -lpng -lz

GTK = -I/usr/include -I/usr/X11R6/include -I/usr/lib/glib/include -L/usr/lib -lglib -L/usr/X11R6/lib -lgtk -lgdk -lX11

#-laudiofile -ldb -L/usr/lib -lglib -ldl -lgtkxmhtml -lXpm -ljpeg -lpng -lz -lz -lSM -lICE -L/usr/lib\


######## APPLICATION BINARIES ########

all:	gxevents gxdhd corrd trapd pdud evdpysrvd gxstatus

gxdhd:	$(madep) $(OBJS) gxdhd.c
	$(CC) $(CFLAGS) gxdhd.c -o gxdhd $(LIB) $(CMU) $(DBLIB) $(MLIB) $(AFLAG)

gxstatus:	gxstatus.c $(OBJS)
	$(CC) $(CFLAGS) gxstatus.c -o gxstatus $(LIB) $(CMU) $(DBLIB) $(MLIB) $(AFLAG)

#actiond:	$(OBJS) actiond.c sev.c
#	$(CC) $(CFLAGS) actiond.c -o actiond $(LIB) $(CMU) $(DBLIB) $(MLIB) $(EFLAG) $(GUILE)

evdpysrvd:	$(OBJS) evdpysrvd.c
	$(CC) $(CFLAGS) evdpysrvd.c -o evdpysrvd $(LIB) $(CMU) $(DBLIB) $(MLIB) $(EFLAG)

#crond:	$(OBJS) crond.c
#	$(CC) $(CFLAGS) crond.c -o crond $(LIB) $(CMU) $(DBLIB) $(MLIB) $(EFLAG) 

corrd:	$(OBJS) corrd.c
	$(CC) $(CFLAGS) corrd.c -o corrd $(LIB) $(CMU) $(MLIB) $(GUILE) $(SSPERL) $(NFLAG) -ldaefc $(CMUFLAG)

trapd:	$(OBJS) trapd.c log.c
	$(CC) $(CFLAGS) trapd.c -o trapd $(LIB) $(CMU) $(DBLIB) $(MLIB) $(EFLAG)

#netmon:	$(OBJS) netmon.c
#	$(CC) $(CFLAGS) netmon.c -o netmon $(CMU) $(DBLIB) $(MLIB) $(EFLAG) 

pdud:    pdud.c
	${CC} $(CFLAGS) pdud.c -o pdud -I/usr/include/snmp $(PDUD) -L/usr/lib $(LLIB) -ldaefc

gxevents:	$(OBJS) gxevents.c
	$(CC) $(CFLAGS) gxevents.c -o gxevents $(GNOME) $(LLIB) -ldaefc

#### TEST WORK

gxecho:	$(OBJS) gxecho.c
	$(CC) $(CFLAGS) gxecho.c -o gxecho $(GTK) $(LLIB)

gxdaeconf:	$(OBJS) gxdaeconf.c
	$(CC) $(CFLAGS) gxdaeconf.c -o gxdaeconf $(GNOME) $(LLIB) -ldaefc

gxtrapconf:	$(OBJS) gxtrapconf.c
	$(CC) $(CFLAGS) gxtrapconf.c -o gxtrapconf $(GNOME) $(LLIB) -ldaefc


ev:	ev.c $(OBJS)
	$(CC) $(CFLAGS) ev.c -o ev $(LIB) $(CMU) $(DBLIB) $(MLIB) $(AFLAG)

ac:	ac.c $(OBJS)
	$(CC) $(CFLAGS) ac.c -o ac $(LIB) $(CMU) $(DBLIB) $(MLIB) $(AFLAG)
#	$(CC) $(CFLAGS) ac.c -o ac $(LIB) $(MLIB) -ldaefc


smi:	smi.c smi.c
	$(CC) $(CFLAGS) smi.c -o smi $(LOC) -lsmi

######### SHARED LIBRARIES #########
$(LIBP)/libdae.o:	dae.c dae.h
	$(CC) -fPIC $(CFLAGS) -c f.c -o $(LIBP)/libdae.o
$(LIBP)/libdae.so:	$(LIBP)/libdae.o
	$(CC) -shared -o $(LIBP)/libdae.so $(LIBP)/libdae.o

$(LIBP)/libdaefc.o:	f.c f.h
	$(CC) -fPIC $(CFLAGS) -c f.c -o $(LIBP)/libdaefc.o
$(LIBP)/libdaefc.so:	$(LIBP)/libdaefc.o
	$(CC) -shared -o $(LIBP)/libdaefc.so $(LIBP)/libdaefc.o

$(LIBP)/libdaedb.o:	dbsql.c dbsql.h $(LIBP)/libdaefc.o
	$(CC) -fPIC $(CFLAGS) -c dbsql.c -o $(LIBP)/libdaedb.o $(DBLIB)
$(LIBP)/libdaedb.so:	$(LIBP)/libdaedb.o
	$(CC) -shared -o $(LIBP)/libdaedb.so $(LIBP)/libdaedb.o

$(LIBP)/libdaescm.o:	scm.c $(LIBP)/libdaefc.o $(LIBP)/libdaedb.o
	$(CC) -fPIC $(CFLAGS) -c scm.c -o $(LIBP)/libdaescm.o $(DBLIB) -L/lib -L/usr/lib $(SSPERLLIB)
$(LIBP)/libdaescm.so:	$(LIBP)/libdaescm.o
	$(CC) -shared -o $(LIBP)/libdaescm.so $(LIBP)/libdaescm.o
