TOP =$(DESTDIR) PFX =/usr/local CCLD =$(CC) CP_P =cp -p RM_F =rm -f MKD_P =mkdir -p RMD_F =rmdir 2>/dev/null DEPMOD_AE =depmod -a -e LIBATM_I =/usr/include LIBATM_L =/usr/lib LIBUSB_S =so LIBUSB_I =/usr/include LIBUSB_L =/usr/lib LIBUSB_S =so KV =2.4.22-1-686 KARCH =i686 KDIR =/usr/src/kernel-linux-$(KV) K24 =yes K26 =no ISBIN =$(TOP)$(PFX)/sbin IDATA =$(TOP)$(PFX)/lib/cxacru IKMOD =$(TOP)/lib/modules/$(KV)/kernel/drivers/usb IKDEP =$(TOP)/lib/modules/$(KV)/modules.dep ifeq "$(K24)" "yes" KO =o endif ifeq "$(K26)" "yes" KO =ko endif CX_INC =-Iinclude -I$(KDIR)/include -I$(LIBUSB_I) # Please never omit the frame pointer. CX_OPTS =-O2 -Wstrict-prototypes -pipe -march=$(KARCH) -Wall CX_DEFS =-DLINUX CX_CFLAGS =$(CX_OPTS) $(CX_DEFS) $(CX_INC) CX_LIB =-L$(LIBUSB_L) CX_LDFLAGS =$(CX_LIB) CX_LIBS =-lusb CX_LIBD =$(LIBUSB_L)/libusb.$(LIBUSB_S) BR_INC =-Iinclude -I$(KDIR)/include -I$(LIBATM_I) BR_CFLAGS =$(CX_OPTS) $(CX_DEFS) $(BR_INC) BR_LIB =-L$(LIBATM_D) BR_LDFLAGS =$(CX_LDFLAGS) BR_LIBS =-latm -lresolv BR_LIBD =$(LIBATM_L)/libatm.$(LIBATM_S) CXLOAD_O =init/cxload.o CXIOCTL_O =init/cxioctl.o BR2684_O =bridged/br2684ctl.o MOD_INC =-Iinclude -Isarlib -I$(KDIR)/include MOD_OPTS =-O2 -pipe \ -Wstrict-prototypes -Wno-trigraphs -Wall \ -fno-strict-aliasing -fno-common \ -mpreferred-stack-boundary=2 -march=$(KARCH) MOD_DEFS =-D__KERNEL__ -DLINUX MOD_CFLAGS =$(MOD_OPTS) $(MOD_DEFS) $(MOD_INC) MOD_LIB = MOD_LIBS = MOD_LDFLAGS =-r MODCXACRU_O =module/cxacru.o sarlib/sarlib.o .PHONY: all install all: sbin all: sbin/cxload all: sbin/cxctl all: sbin/br2684ctl all: lib ifeq "$(K24)" "yes" all: lib/cxacru.$(KO) endif #all: lib/cxacru2.$(KO) install: all install: $(ISBIN) install: $(ISBIN)/cxload install: $(ISBIN)/cxctl install: $(ISBIN)/br2684ctl install: $(IKMOD) ifeq "$(K24)" "yes" install: $(IKMOD)/cxacru.$(KO) endif #install: $(IKMOD)/cxacru2.$(KO) install: $(IDATA) install: $(IDATA)/cxfirm1.bin install: $(IDATA)/cxfirm2.bin install: $(IDATA)/cxfirm3.bin install: $(IDATA)/cxfirm4.bin install: $(IDATA)/cxfirm5.bin install: $(IKDEP) .PHONY: uninstall uninstall-remove uninstall: uninstall-remove uninstall: $(IKDEP) uninstall-remove: $(RM_F) $(ISBIN)/cxload $(RM_F) $(ISBIN)/cxctl $(RM_F) $(ISBIN)/br2684ctl $(RMD_F) $(ISBIN) $(RM_F) $(IKMOD)/cxacru.$(KO) $(RM_F) $(IKMOD)/cxacru2.$(KO) $(RMD_F) $(IKMOD) $(RM_F) $(IDATA)/cxfirm1.bin $(RM_F) $(IDATA)/cxfirm2.bin $(RM_F) $(IDATA)/cxfirm3.bin $(RM_F) $(IDATA)/cxfirm4.bin $(RM_F) $(IDATA)/cxfirm5.bin $(RMD_F) $(IDATA) sbin: $(MKD_P) $@ sbin/cxload: $(CXLOAD_O) $(CCLD) $(CX_LDFLAGS) $(CXLOAD_O) $(CX_LIBS) -o $@ sbin/cxctl: $(CXIOCTL_O) $(CCLD) $(CX_LDFLAGS) $(CXIOCTL_O) $(CX_LIBS) -o $@ sbin/br2684ctl: $(BR2684_O) $(CCLD) $(BR_LDFLAGS) $(BR2684_O) $(BR_LIBS) -o $@ init/cxload.o: $(LIBUSB_I)/usb.h init/cxload.o: include/usbi.h init/cxload.o: include/cxacru.h init/cxload.o: init/cxload.c $(CC) $(CX_CFLAGS) -c init/cxload.c -o $@ init/cxioctl.o: $(LIBUSB_I)/usb.h init/cxioctl.o: include/usbi.h init/cxioctl.o: include/cxacru.h init/cxioctl.o: init/cxioctl.c $(CC) $(CX_CFLAGS) -c init/cxioctl.c -o $@ bridged/br2684ctl.o: $(LIBATM_I)/atm.h bridged/br2684ctl.o: bridged/br2684ctl.c $(CC) $(BR_CFLAGS) -c bridged/br2684ctl.c -o $@ sarlib/sarlib.o: sarlib/sarlib.h sarlib/sarlib.o: sarlib/sarlib.c $(CC) $(MOD_CFLAGS) -c sarlib/sarlib.c -o $@ lib: $(MKD_P) $@ lib/cxacru.$(KO): $(MODCXACRU_O) $(CCLD) $(MOD_LDFLAGS) $(MODCXACRU_O) $(MOD_LIBS) -o $@ module/cxacru.o: include/cxacru.h module/cxacru.o: module/cxacru.c $(CC) $(MOD_CFLAGS) -c module/cxacru.c -o $@ lib/cxacru2.$(KO): module2/cxacru.$(KO) $(CP_P) module2/cxacru.$(KO) $@ module2/cxacru.$(KO): cd module2 && $(MAKE) -C $(KDIR) -$(MAKEFLAGS) SUBDIRS=. $(ISBIN): ; $(MKD_P) $@ $(ISBIN)/%: sbin/%; $(CP_P) $? $@ $(IKMOD): ; $(MKD_P) $@ $(IKMOD)/%.$(KO): lib/%.$(KO); $(CP_P) $? $@ $(IDATA): ; $(MKD_P) $@ $(IDATA)/%.bin: firmware/%.bin; $(CP_P) $? $@ ifeq "$(K24)" "yes" $(IKDEP): $(IKMOD)/cxacru.$(KO) endif ifeq "$(K26)" "yes" #$(IKDEP): $(IKMOD)/cxacru2.$(KO) endif $(IKDEP): -$(DEPMOD_AE) -b $(TOP) .PHONY: clean realclean clean: $(RM_F) $(CXLOAD_O) $(RM_F) $(CXIOCTL_O) $(RM_F) $(BR2684_O) $(RM_F) $(MODCXACRU_O) realclean: clean $(RM_F) sbin/cxctl $(RM_F) sbin/cxload $(RM_F) sbin/br2684ctl $(RMD_F) sbin $(RM_F) lib/cxacru.$(KO) $(RM_F) lib/cxacru2.$(KO) $(RMD_F) lib