CC	= gcc
PREFIX  = /usr/local
CFLAGS  = -Wall -O2 -I/usr/local/include
LDFLAGS = -L/usr/local/lib -lwnet
BOBJS   = proto_80211.o \
          proto_misc.o
MOBJS   = proto_mgmt.o \
          proto_mgmt_fields.o
DOBJS	= proto_data.o
POBJS   = dinject-beacon.o \
          dinject-atim.o \
          dinject-disas.o \
          dinject-asreq.o \
          dinject-asresp.o \
          dinject-reasreq.o \
          dinject-reasresp.o \
          dinject-probereq.o \
          dinject-proberesp.o \
          dinject-auth.o \
          dinject-deauth.o \
          dinject-data.o

all: dinject

dinject: $(BOBJS) $(MOBJS) $(DOBJS) $(POBJS)
	$(CC) $(CFLAGS) -o dinject-beacon $(BOBJS) $(MOBJS) dinject-beacon.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-atim $(BOBJS) dinject-atim.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-disas $(BOBJS) $(MOBJS) dinject-disas.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-asreq $(BOBJS) $(MOBJS) dinject-asreq.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-asresp $(BOBJS) $(MOBJS) dinject-asresp.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-reasreq $(BOBJS) $(MOBJS) dinject-reasreq.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-reasresp $(BOBJS) $(MOBJS) dinject-reasresp.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-probereq $(BOBJS) $(MOBJS) dinject-probereq.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-proberesp $(BOBJS) $(MOBJS) dinject-proberesp.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-auth $(BOBJS) $(MOBJS) dinject-auth.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-deauth $(BOBJS) $(MOBJS) dinject-deauth.o $(LDFLAGS)
	$(CC) $(CFLAGS) -o dinject-data $(BOBJS) $(DOBJS) dinject-data.o $(LDFLAGS)

install:
	install -m 700 -o root -g wheel dinject-beacon $(PREFIX)/bin
	install -m 700 -o root -g wheel dinject-atim $(PREFIX)/bin
	install -m 700 -o root -g wheel dinject-disas $(PREFIX)/bin
	install -m 700 -o root -g wheel dinject-asreq $(PREFIX)/bin
	install -m 700 -o root -g wheel dinject-asresp $(PREFIX)/bin
	install -m 700 -o root -g wheel dinject-reasreq $(PREFIX)/bin
	install -m 700 -o root -g wheel dinject-probereq $(PREFIX)/bin
	install -m 700 -o root -g wheel dinject-proberesp $(PREFIX)/bin
	install -m 700 -o root -g wheel dinject-auth $(PREFIX)/bin
	install -m 700 -o root -g wheel dinject-deauth $(PREFIX)/bin
	install -m 700 -o root -g wheel dinject-data $(PREFIX)/bin

clean:
	rm -f *.o dinject-beacon dinject-atim dinject-disas dinject-asreq dinject-asresp dinject-reasreq dinject-reasresp dinject-probereq dinject-proberesp dinject-auth dinject-deauth dinject-data
