
CC=gcc
CFLAGS=-O2 -Wall
LDFLAGS=

SRC_BIN2HEX=bin2hex.c
OBJ_BIN2HEX=$(SRC_BIN2HEX:.c=.o)
TARGET_BIN2HEX=bin2hex

SRC_PCAP2BIN=pcap2bin.c
OBJ_PCAP2BIN=$(SRC_PCAP2BIN:.c=.o)
TARGET_PCAP2BIN=pcap2bin

SRC_SENDFILE=sendfile.c
OBJ_SENDFILE=$(SRC_SENDFILE:.c=.o)
LIB_SENDFILE=-lnet -lpcap
TARGET_SENDFILE=sendfile

SRC_INFLATE=inflate.c
OBJ_INFLATE=$(SRC_INFLATE:.c=.o)
LIB_INFLATE=-lz
TARGET_INFLATE=inflate

SRC_LOCATE_PUP_FILES=locate_pup_files.c
OBJ_LOCATE_PUP_FILES=$(SRC_LOCATE_PUP_FILES:.c=.o)
TARGET_LOCATE_PUP_FILES=locate_pup_files

SRC_MKIMAGE=mkimage.c
OBJ_MKIMAGE=$(SRC_MKIMAGE:.c=.o)
TARGET_MKIMAGE=mkimage

all: $(TARGET_BIN2HEX) $(TARGET_PCAP2BIN) $(TARGET_SENDFILE) $(TARGET_INFLATE) $(TARGET_LOCATE_PUP_FILES) $(TARGET_MKIMAGE)

$(TARGET_BIN2HEX): $(OBJ_BIN2HEX)
	$(CC) $(LDFLAGS) $(OBJ_BIN2HEX) -o $@

$(TARGET_PCAP2BIN): $(OBJ_PCAP2BIN)
	$(CC) $(LDFLAGS) $(OBJ_PCAP2BIN) -o $@

$(TARGET_SENDFILE): $(OBJ_SENDFILE)
	$(CC) $(LDFLAGS) $(OBJ_SENDFILE) -o $@ $(LIB_SENDFILE)

$(TARGET_INFLATE): $(OBJ_INFLATE)
	$(CC) $(LDFLAGS) $(OBJ_INFLATE) -o $@ $(LIB_INFLATE)

$(TARGET_LOCATE_PUP_FILES): $(OBJ_LOCATE_PUP_FILES)
	$(CC) $(LDFLAGS) $(OBJ_LOCATE_PUP_FILES) -o $@

$(TARGET_MKIMAGE): $(OBJ_MKIMAGE)
	$(CC) $(LDFLAGS) $(OBJ_MKIMAGE) -o $@

%.o: %.c
	$(CC) $(CFLAGS) -c $^

clean:
	rm -f $(TARGET_BIN2HEX) $(OBJ_BIN2HEX) $(TARGET_PCAP2BIN) $(OBJ_PCAP2BIN) $(TARGET_SENDFILE) $(OBJ_SENDFILE) \
		$(TARGET_INFLATE) $(OBJ_INFLATE) $(TARGET_LOCATE_PUP_FILES) $(OBJ_LOCATE_PUP_FILES) $(TARGET_MKIMAGE) $(OBJ_MKIMAGE)
