# For Rt Compile
CC = mipsel-linux-gcc
STRIP = mipsel-linux-strip

# For x86 Compile
# CC = gcc
# STRIP = strip

# For Debug use
# CFLAGS = -DDEBUG -g

SUBDIRS=etc script

noinst_HEADERS=cmd-inc.h cmd-show.h cmd-system.h cmd-name.h \
	command.h connection.h fgetline.h ifns.h invoke.h \
	cmd-bind.h cmd-policy.h rule.h test.h cmd-ip.h \
	peer.h rps.h vlist.h cmd-no.h cmd-help.h sfile.h \
	cmd-write.h cmd-unbind.h defs.h alstr.h parser.h \
	cts.h ruleset.h cmd-move.h ps.h cmd-trigger.h cmd-load.h

adm_PROG=rfwadm
batch_PROG=rfwbatch
cmd_PROG=rfwcmd
pConf_PROG=parserConfig
bin_PROG = $(adm_PROG) $(batch_PROG) $(cmd_PROG)

adm_SOURCES=cmd-show.c cmd-system.c command.c cmd-help.c \
	connection.c fgetline.c ifns.c invoke.c main.c \
	peer.c rps.c vlist.c cmd-no.c cmd-name.c sfile.c \
	cmd-bind.c cmd-policy.c rule.c test.c cmd-ip.c \
	cmd-write.c cmd-unbind.c parser.c alstr.c \
	cts.c ruleset.c cmd-move.c cmd-trigger.c cmd-load.c
adm_LDADD=-lcrypt -lrt

batch_SOURCES=rfwbatch.c fgetline.c
cmd_SOURCES=rfwcmd.c fgetline.c

pConf_SOURCES=parserConfig.c parser.c vlist.c alstr.c

adm_OBJECTS   = $(subst .c,.o, $(adm_SOURCES))
batch_OBJECTS = $(subst .c,.o, $(batch_SOURCES))
cmd_OBJECTS = $(subst .c,.o, $(cmd_SOURCES))
pConf_OBJECTS    = $(subst .c,.o, $(pConf_SOURCES))

all: $(bin_PROG)

$(adm_PROG): $(adm_OBJECTS)
	$(CC) -o $(adm_PROG) $(adm_OBJECTS) $(CFLAGS) $(LDFLAGS)
	$(STRIP) -s $(adm_PROG)

$(batch_PROG): $(batch_OBJECTS)
	$(CC) -o $(batch_PROG) $(batch_OBJECTS) $(CFLAGS) $(LDFLAGS)
	$(STRIP) -s $(batch_PROG)

$(cmd_PROG): $(cmd_OBJECTS)
	$(CC) -o $(cmd_PROG) $(cmd_OBJECTS) $(CFLAGS) $(LDFLAGS)
	$(STRIP) -s $(cmd_PROG)

$(pConf_PROG): $(pConf_OBJECTS)
	$(CC) -o $(pConf_PROG) $(pConf_OBJECTS) $(CFLAGS) $(LDFLAGS)
	$(STRIP) -s $(pConf_PROG)

.PHONY: clean romfs distclean
clean:
	rm -rf $(adm_PROG) $(cmd_PROG) $(batch_PROG) $(pConf_PROG) *.o *~

distclean: clean
	rm ../../romfs/bin/rfwadm
	rm ../../romfs/bin/rfwbatch

romfs: $(adm_PROG) $(batch_PROG)
	cp $(bin_PROG) ../../romfs/bin
	$(ROMFSINST) etc/help.txt /etc_ro/rfw/help.txt
	$(ROMFSINST) etc/rule.cts /etc_ro/rfw/rule.cts
	$(ROMFSINST) etc/name.cts /etc_ro/rfw/name.cts
	$(ROMFSINST) etc/ifns.conf /etc_ro/rfw/ifns.conf
	$(ROMFSINST) etc/bind.cts /etc_ro/rfw/bind.cts

