# $Id: Makefile,v 1.4 2004/01/01 20:54:23 liquidk Exp $
###############################################################################

SOURCES = \
	main.c \
	match_bittorrent.c \
	match_dc.c \
	match_edonkey.c \
	match_http.c

OBJECTS = \
	$(SOURCES:%.c=%.o)

TARGET_24 = ipt_p2p.o
TARGET_26 = ipt_p2p.ko

###############################################################################

#CC = \
	gcc

CFLAGS += \
	-O1

KERNELDIR = \
	/lib/modules/$(shell uname -r)/build

KERNELINC = \
	$(KERNELDIR)/include

# This is not pretty. How can we do this better?
ifdef P2P_COMMON
    INCLUDES+=-I$(P2P_COMMON)
endif

PWD = \
	$(shell pwd)

COMMON = \
	$(PWD)/../common

INCLUDES += \
	-I$(COMMON) \
	-I$(KERNELINC) \
	-I$(KERNELINC)/asm/mach-default

CPPFLAGS += \
	-D__KERNEL__ -DMODULE $(INCLUDES)

###############################################################################
# Common Stuff
###############################################################################

all: linux-2.4


.PHONY: clean

clean:
	$(RM) $(OBJECTS)
	$(RM) $(TARGET_24)
	$(RM) $(TARGET_26)
	$(RM) .*.o.cmd
	$(RM) .*.ko.cmd
	$(RM) ipt_p2p.mod.*


###############################################################################
# Linux 2.4 Stuff
###############################################################################

linux-2.4: $(TARGET_24)

$(TARGET_24): $(OBJECTS)
	$(LD) -r -o $@ $(OBJECTS)

###############################################################################
# Linux 2.6 Stuff
###############################################################################

obj-m := ipt_p2p.o
ipt_p2p-objs := $(OBJECTS)

linux-2.6: $(TARGET_26)

$(TARGET_26):
	$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) P2P_COMMON=$(COMMON) modules

