DESTS	= setcrystal sethdlc smmixer

XINC	=$(X11_DIR)/include
XLIB	=$(X11_DIR)/lib
XFINC	=$(XF_INC)/include
XFLIB	=$(XF_LIB)/lib

CC = gcc
LD = gcc
CFLAGS = -Wall -Wstrict-prototypes -O2
LDFLAGS =
LIBS =
XLIBS 	= -lX11
XFLIBS	= -lforms -lX11 -lm

ifdef X11_DIR
DESTS	+= smdiag
CFLAGS	+= -I$(XINC)
LDFLAGS	+= -L$(XLIB)

ifdef XF_INC
ifdef XF_LIB
DESTS	+= xfsmmixer xfhdlcchpar xfhdlcst xfsmdiag
CFLAGS	+= -I$(XFINC)
LDFLAGS	+= -L$(XFLIB)
endif
endif
endif


all: $(DESTS)

.c.o:
	$(CC) $(CFLAGS) -c $<

install: installbin installman

installbin: all
	install -m 755 -s -o bin -g bin setcrystal	$(SBIN_DIR)
	install -m 755 -s -o bin -g bin sethdlc   	$(SBIN_DIR)
	install -m 755 -s -o bin -g bin smmixer 	$(SBIN_DIR)
ifdef X11_DIR
	install -m 755 -s -o bin -g bin smdiag	 	$(SBIN_DIR)
ifdef XF_INC
ifdef XF_LIB
	install -m 755 -s -o bin -g bin xfsmmixer 	$(SBIN_DIR)
	install -m 755 -s -o bin -g bin xfhdlcchpar 	$(SBIN_DIR)
	install -m 755 -s -o bin -g bin xfhdlcst 	$(SBIN_DIR)
	install -m 755 -s -o bin -g bin xfsmdiag 	$(SBIN_DIR)
endif
endif
endif

installconf:

installman:
	install -m 644 -o bin -g bin sethdlc.8		$(MAN_DIR)/man8
	install -m 644 -o bin -g bin smdiag.8		$(MAN_DIR)/man8
	install -m 644 -o bin -g bin smmixer.8		$(MAN_DIR)/man8
	install -m 644 -o bin -g bin baycom.9		$(MAN_DIR)/man9
	install -m 644 -o bin -g bin hdlcdrv.9		$(MAN_DIR)/man9
	install -m 644 -o bin -g bin soundmodem.9	$(MAN_DIR)/man9

clean:
	rm -f *.o *~ *.bak *.orig

distclean: clean
	rm -f setcrystal sethdlc smdiag smmixer
	rm -f xfsmmixer xfhdlcchpar xfhdlcst xfsmdiag

sethdlc: sethdlc.o
	$(LD) $(LDFLAGS) -o sethdlc sethdlc.o $(LIBS)

setcrystal: setcrystal.o
	$(LD) $(LDFLAGS) -o setcrystal setcrystal.o $(LIBS)

smdiag: smdiag.o
	$(LD) $(LDFLAGS) -o smdiag smdiag.o $(LIBS) $(XLIBS)

smmixer: smmixer.o
	$(LD) $(LDFLAGS) -o smmixer smmixer.o $(LIBS)

xfsmmixer: xfsmmixer.o xfsmmixer_main.o
	$(LD) $(LDFLAGS) $^ -o $@ $(LIBS) $(XFLIBS)

xfhdlcchpar: xfhdlcchpar.o xfhdlcchpar_main.o
	$(LD) $(LDFLAGS) $^ -o $@ $(LIBS) $(XFLIBS)

xfhdlcst: xfhdlcst.o xfhdlcst_main.o
	$(LD) $(LDFLAGS) $^ -o $@ $(LIBS) $(XFLIBS)

xfsmdiag: xfsmdiag.o xfsmdiag_main.o
	$(LD) $(LDFLAGS) $^ -o $@ $(LIBS) $(XFLIBS)

setcrystal.o:	setcrystal.c
sethdlc.o:	sethdlc.c
smdiag.o:	smdiag.c
smmixer.o:	smmixer.c
