1# GNU Makefile for hexen2 pak tools for m68k-amigaos using VBCC 2# 3 4# Path settings: 5UHEXEN2_TOP:=../.. 6UTILS_TOP:=.. 7COMMONDIR:=$(UTILS_TOP)/common 8UHEXEN2_SHARED:=$(UHEXEN2_TOP)/common 9LIBS_DIR:=$(UHEXEN2_TOP)/libs 10OSLIBS:=$(UHEXEN2_TOP)/oslibs 11 12# Names of the binaries 13PAKX:=pakx 14PAKLIST:=paklist 15 16# Compiler flags 17CC = vc 18LINKER = $(CC) 19 20CFLAGS = -O1 -speed -c99 -cpu=68020 -fpu=68881 21CFLAGS += -D__AMIGA__ 22CFLAGS += -DNDEBUG=1 23INCLUDES= -I. -I$(COMMONDIR) -I$(UHEXEN2_SHARED) 24# for extra missing headers 25INCLUDES+=-I$(OSLIBS)/amigaos/vbcc/include -I$(OSLIBS)/amigaos/include 26LDFLAGS = -L$(OSLIBS)/amigaos/vbcc/lib 27LDLIBS = -lm881 28 29# Other build flags 30 31# Targets 32all : $(PAKX) $(PAKLIST) 33 34# Rules for turning source files into .o files 35%.o: %.c 36 $(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $< 37%.o: $(COMMONDIR)/%.c 38 $(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $< 39%.o: $(UHEXEN2_SHARED)/%.c 40 $(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $< 41 42# Objects 43OBJ_COMMON= qsnprint.o \ 44 strlcat.o \ 45 strlcpy.o \ 46 cmdlib.o \ 47 util_io.o \ 48 crc.o \ 49 q_endian.o \ 50 byteordr.o \ 51 pakfile.o 52OBJ_PAKX= pakx.o 53OBJ_PAKL= paklist.o 54 55$(PAKX): $(OBJ_COMMON) $(OBJ_PAKX) 56 $(LINKER) $(OBJ_COMMON) $(OBJ_PAKX) $(LDFLAGS) $(LDLIBS) -o $@ 57 58$(PAKLIST): $(OBJ_COMMON) $(OBJ_PAKL) 59 $(LINKER) $(OBJ_COMMON) $(OBJ_PAKL) $(LDFLAGS) $(LDLIBS) -o $@ 60 61clean: 62 rm -f *.o core 63distclean: clean 64 rm -f $(PAKX) $(PAKLIST) 65 66