# Modify LINUX to indicate Linux v2.4.1 source directory: LINUX=/usr/src/linux-2.4.1/src # Modify GCCDIR to indicate mygcc installation directory: MYGCC=../../.. # Nothing needs to be changed after this line. GCC=$(MYGCC)/mygcc/0.1.0/bin/gcc CPPOPTS=-D__KERNEL__ -I$(LINUX)/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -mpreferred-stack-boundary=2 -march=i686 SOURCES=3c505.c 3c515.c aironet4500_card.c aironet4500_cs.c AM53C974.c \ anode.c avm_cs.c binsert.c bluetooth.c bttv-driver.c bufs.c bulkmem.c \ callc.c capi.c capidrv.c comx-proto-fr.c context.c cs.c defxx.c dgrs.c \ dir.c dma.c ds.c epca.c file.c fops.c fore200e.c fsm.c ftl.c \ g_NCR5380.c hosts.c i2c-parport.c i2o_core.c i810_bufs.c ide-probe.c \ ide-tape.c inode.c intrep.c ioctl.c iphase.c irq.c ixj.c journal.c \ lanstreamer.c ll_rw_blk.c lmc_proto.c matroxfb_crtc2.c microtek.c \ misc.c mtdram.c namei.c NCR53c406a.c nfsfh.c olympic.c partition.c \ pc_keyb.c proc.c qla1280.c qlogicfas.c qlogicfc.c qlogicisp.c \ qnx_inode.c r128_bufs.c radeon_bufs.c raid5.c riocmd.c rio_linux.c \ riotable.c rsrc_mgr.c sch_gred.c scsi_scan.c sd.c setup-res.c \ sis_main.c skfddi.c slram.c smc9194.c smctr.c sr.c sunhme.c super.c \ tms380tr.c ultrastor.c upcall.c util.c video1394.c videodev.c \ wavelan_cs.c zatm.c SOURCES_CHECK=$(SOURCES:.c=.i.c.check) all: $(SOURCES_CHECK) clean: rm -f *.i *.c *.check *.o *.gimple super.i: $(LINUX)/fs/udf/super.c $(GCC) $(CPPOPTS) -E $(LINUX)/fs/udf/super.c >$@ super.i.c: super.i cat super.i | protect-multiline-strings.awk | \ chfun.awk -v fun=udf_load_partition -v from=static -v to=extern | \ chfun.awk -v fun=udf_load_logicalvol -v from=static -v to=extern \ >$@ %.i.c: %.i protect-multiline-strings.awk <$< >$@ %.c.check: %.c $(GCC) -O2 -fdump-tree-gimple -fno-inline --tree-check=mc.crc -c $< 2>&1 | \ tee $@ | egrep "function|checking|via|reached" fsm.i: $(LINUX)/drivers/isdn/hisax/fsm.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $(LINUX)/drivers/isdn/hisax/fsm.c >$@ file.i: $(LINUX)/fs/udf/file.c gcc $(CPPOPTS) -E $(LINUX)/fs/udf/file.c >$@ dma.i: $(LINUX)/drivers/char/drm/dma.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $(LINUX)/drivers/char/drm/dma.c >$@ fops.i: $(LINUX)/drivers/char/drm/fops.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $(LINUX)/drivers/char/drm/fops.c >$@ i2c-parport.i: $(LINUX)/drivers/media/video/i2c-parport.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $(LINUX)/drivers/media/video/i2c-parport.c >$@ context.i: $(LINUX)/drivers/char/drm/context.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $(LINUX)/drivers/char/drm/context.c >$@ lmc_proto.i: $(LINUX)/drivers/net/wan/lmc/lmc_proto.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $(LINUX)/drivers/net/wan/lmc/lmc_proto.c >$@ mtdram.i: $(LINUX)/drivers/mtd/mtdram.c gcc $(CPPOPTS) -D __FUNCTION__="" -D CONFIG_MTDRAM_TOTAL_SIZE=64 -D CONFIG_MTDRAM_ERASE_SIZE=8 -E $(LINUX)/drivers/mtd/mtdram.c >$@ mtdram.i.c: mtdram.i cat mtdram.i | protect-multiline-strings.awk | \ chfun.awk -v fun=init_mtdram -v from=static -v to=extern \ >$@ radeon_bufs.i: $(LINUX)/drivers/char/drm/radeon_bufs.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $(LINUX)/drivers/char/drm/radeon_bufs.c >$@ r128_bufs.i: $(LINUX)/drivers/char/drm/r128_bufs.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ avm_cs.i: $(LINUX)/drivers/isdn/avmb1/avm_cs.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ avm_cs.i.c: avm_cs.i cat avm_cs.i | protect-multiline-strings.awk | \ chfun.awk -v fun=avmcs_attach -v from=static -v to=extern \ >$@ raid5.i: $(LINUX)/drivers/md/raid5.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ raid5.i.c: raid5.i cat raid5.i | protect-multiline-strings.awk | \ chfun.awk -v fun=grow_buffers -v from=static -v to=extern | \ chfun.awk -v fun=__check_consistency -v from=static -v to=extern \ >$@ setup-res.i: $(LINUX)/drivers/pci/setup-res.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ hosts.i: $(LINUX)/drivers/scsi/hosts.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ aironet4500_card.i: $(LINUX)/drivers/net/aironet4500_card.c gcc $(CPPOPTS) -D __FUNCTION__="" -E -D CONFIG_AIRONET4500_PCI -D CONFIG_AIRONET4500_PNP -D CONFIG_AIRONET4500_ISA $< >$@ aironet4500_card.i.c: aironet4500_card.i cat aironet4500_card.i | protect-multiline-strings.awk | \ chfun.awk -v fun=awc_pci_init -v from=static -v to=extern \ >$@ aironet4500_cs.i: $(LINUX)/drivers/net/pcmcia/aironet4500_cs.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ aironet4500_cs.i.c: aironet4500_cs.i cat aironet4500_cs.i | protect-multiline-strings.awk | \ chfun.awk -v fun=awc_attach -v from=static -v to=extern \ >$@ rsrc_mgr.i: $(LINUX)/drivers/pcmcia/rsrc_mgr.c gcc $(CPPOPTS) -D __FUNCTION__="" -E -D CONFIG_ISA $< >$@ olympic.i: $(LINUX)/drivers/net/tokenring/olympic.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ bulkmem.i: $(LINUX)/drivers/pcmcia/bulkmem.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ # Cannot compile even under src/: #support.i: $(LINUX)/fs/ntfs/support.c # echo '#include "linux/types.h"' >$@.tmp.c # cat $< >>$@.tmp.c # gcc $(CPPOPTS) -D __FUNCTION__="" -E $@.tmp.c >>$@ # Compile gives warning under src/, so gcc doesnt analyze lec_send_packet(): #lec.i: $(LINUX)/net/atm/lec.c # gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ #lec.i.c: lec.i # cat lec.i | protect-multiline-strings.awk | \ # chfun.awk -v fun=lec_send_packet -v from=static -v to=extern \ # >$@ inode.i: $(LINUX)/fs/bfs/inode.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ inode.i.c: inode.i cat inode.i | protect-multiline-strings.awk | \ chfun.awk -v fun=bfs_read_super -v from=static -v to=extern \ >$@ video1394.i: $(LINUX)/drivers/ieee1394/video1394.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ video1394.i.c: video1394.i cat video1394.i | protect-multiline-strings.awk | \ chfun.awk -v fun=alloc_dma_iso_ctx -v from=static -v to=extern \ >$@ qnx_inode.i: $(LINUX)/fs/qnx4/inode.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ qnx_inode.i.c: qnx_inode.i cat qnx_inode.i | protect-multiline-strings.awk | \ chfun.awk -v fun=qnx4_checkroot -v from=static -v to=extern \ >$@ videodev.i: $(LINUX)/drivers/media/video/videodev.c gcc $(CPPOPTS) -D __FUNCTION__="" -D CONFIG_PROC_FS -D CONFIG_VIDEO_PROC_FS -E $< >$@ videodev.i.c: videodev.i cat videodev.i | protect-multiline-strings.awk | \ chfun.awk -v fun=videodev_proc_create_dev -v from=static -v to=extern \ >$@ ftl.i: $(LINUX)/drivers/mtd/ftl.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ ftl.i.c: ftl.i cat ftl.i | protect-multiline-strings.awk | \ chfun.awk -v fun=build_maps -v from=static -v to=extern \ >$@ ll_rw_blk.i: $(LINUX)/drivers/block/ll_rw_blk.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ ds.i: $(LINUX)/drivers/pcmcia/ds.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ microtek.i: $(LINUX)/drivers/usb/microtek.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ comx-proto-fr.i: $(LINUX)/drivers/net/wan/comx-proto-fr.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ NCR53c406a.i: $(LINUX)/drivers/scsi/NCR53c406a.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ 3c515.i: $(LINUX)/drivers/net/3c515.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ ultrastor.i: $(LINUX)/drivers/scsi/ultrastor.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ qlogicfas.i: $(LINUX)/drivers/scsi/qlogicfas.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ riocmd.i: $(LINUX)/drivers/char/rio/riocmd.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ ide-probe.i: $(LINUX)/drivers/ide/ide-probe.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ ide-probe.i.c: ide-probe.i cat ide-probe.i | protect-multiline-strings.awk | \ chfun.awk -v fun=init_irq -v from=static -v to=extern \ >$@ # Ok except the kmalloc->deref thru intermediate NONTMP var: upcall.i: $(LINUX)/fs/coda/upcall.c gcc $(CPPOPTS) -E $< >$@ qlogicfc.i: $(LINUX)/drivers/scsi/qlogicfc.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ namei.i: $(LINUX)/fs/udf/namei.c gcc $(CPPOPTS) -E $< >$@ riotable.i: $(LINUX)/drivers/char/rio/riotable.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ pc_keyb.i: $(LINUX)/drivers/char/pc_keyb.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ callc.i: $(LINUX)/drivers/isdn/hisax/callc.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ dgrs.i: $(LINUX)/drivers/net/dgrs.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ dgrs.i.c: dgrs.i cat dgrs.i | protect-multiline-strings.awk | \ chfun.awk -v fun=dgrs_found_device -v from=static -v to=extern \ >$@ cs.i: $(LINUX)/drivers/pcmcia/cs.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ iphase.i: $(LINUX)/drivers/atm/iphase.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ iphase.i.c: iphase.i cat iphase.i | protect-multiline-strings.awk | \ chfun.awk -v fun=ia_pkt_tx -v from=static -v to=extern \ >$@ smctr.i: $(LINUX)/drivers/net/tokenring/smctr.c gcc $(CPPOPTS) -D __FUNCTION__="" -E -DCONFIG_SMCTR $< >$@ wavelan_cs.i: $(LINUX)/drivers/net/pcmcia/wavelan_cs.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ wavelan_cs.i.c: wavelan_cs.i cat wavelan_cs.i | protect-multiline-strings.awk | \ chfun.awk -v fun=wavelan_attach -v from=static -v to=extern \ >$@ ixj.i: $(LINUX)/drivers/telephony/ixj.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ i810_bufs.i: $(LINUX)/drivers/char/drm/i810_bufs.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ bufs.i: $(LINUX)/drivers/char/drm/bufs.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ slram.i: $(LINUX)/drivers/mtd/slram.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ partition.i: $(LINUX)/fs/udf/partition.c gcc $(CPPOPTS) -E $< >$@ dir.i: $(LINUX)/fs/hpfs/dir.c gcc $(CPPOPTS) -E $< >$@ anode.i: $(LINUX)/fs/hpfs/anode.c gcc $(CPPOPTS) -E $< >$@ matroxfb_crtc2.i: $(LINUX)/drivers/video/matrox/matroxfb_crtc2.c gcc $(CPPOPTS) -E $< >$@ matroxfb_crtc2.i.c: matroxfb_crtc2.i cat matroxfb_crtc2.i | protect-multiline-strings.awk | \ chfun.awk -v fun=matroxfb_dh_regit -v from=static -v to=extern \ >$@ AM53C974.i: $(LINUX)/drivers/scsi/AM53C974.c gcc $(CPPOPTS) -E $< >$@ AM53C974.i.c: AM53C974.i cat AM53C974.i | protect-multiline-strings.awk | \ chfun.awk -v fun=AM53C974_init -v from=static -v to=extern \ >$@ sis_main.i: $(LINUX)/drivers/video/sis/sis_main.c gcc $(CPPOPTS) -E $< >$@ irq.i: $(LINUX)/arch/i386/kernel/irq.c gcc $(CPPOPTS) -E $< >$@ ioctl.i: $(LINUX)/drivers/char/drm/ioctl.c gcc $(CPPOPTS) -E -D __FUNCTION__="" $< >$@ nfsfh.i: $(LINUX)/fs/nfsd/nfsfh.c gcc $(CPPOPTS) -E $< >$@ i2o_core.i: $(LINUX)/drivers/i2o/i2o_core.c gcc $(CPPOPTS) -E $< >$@ journal.i: $(LINUX)/fs/reiserfs/journal.c gcc $(CPPOPTS) -E $< >$@ ide-tape.i: $(LINUX)/drivers/ide/ide-tape.c gcc $(CPPOPTS) -E $< >$@ # Cannot compile: #amutils.i: $(LINUX)/drivers/acpi/interpreter/amutils.c # gcc $(CPPOPTS) -I/usr/src/linux-2.4.1/src/drivers/acpi/include -D_IA64 -D_LINUX -DACPI_USE_STANDARD_HEADERS -E $< >$@ proc.i: $(LINUX)/drivers/char/drm/proc.c gcc $(CPPOPTS) -E -D __FUNCTION__="" $< >$@ sch_gred.i: $(LINUX)/net/sched/sch_gred.c gcc $(CPPOPTS) -E -DCONFIG_NET_SCHED $< >$@ misc.i: $(LINUX)/fs/udf/misc.c gcc $(CPPOPTS) -E $< >$@ capi.i: $(LINUX)/drivers/isdn/avmb1/capi.c gcc $(CPPOPTS) -E -DCONFIG_ISDN_CAPI_MIDDLEWARE $< >$@ capi.i.c: capi.i cat capi.i | protect-multiline-strings.awk | \ chfun.awk -v fun=capi_write -v from=static -v to=extern | \ chfun.awk -v fun=capinc_raw_write -v from=static -v to=extern \ >$@ capidrv.i: $(LINUX)/drivers/isdn/avmb1/capidrv.c gcc $(CPPOPTS) -E $< >$@ capidrv.i.c: capidrv.i cat capidrv.i | protect-multiline-strings.awk | \ chfun.awk -v fun=if_readstat -v from=static -v to=extern | \ chfun.awk -v fun=if_sendbuf -v from=static -v to=extern \ >$@ epca.i: $(LINUX)/drivers/char/epca.c gcc $(CPPOPTS) -E $< >$@ qla1280.i: $(LINUX)/drivers/scsi/qla1280.c gcc $(CPPOPTS) -E $< >$@ defxx.i: $(LINUX)/drivers/net/defxx.c gcc $(CPPOPTS) -E $< >$@ defxx.i.c: defxx.i cat defxx.i | protect-multiline-strings.awk | \ chfun.awk -v fun=dfx_rcv_init -v from=static -v to=extern \ >$@ util.i: $(LINUX)/ipc/util.c gcc $(CPPOPTS) -E $< >$@ bttv-driver.i: $(LINUX)/drivers/media/video/bttv-driver.c gcc $(CPPOPTS) -E $< >$@ zatm.i: $(LINUX)/drivers/atm/zatm.c gcc $(CPPOPTS) -DCONFIG_ATM_ZATM_EXACT_TS -E $< >$@ g_NCR5380.i: $(LINUX)/drivers/scsi/g_NCR5380.c gcc $(CPPOPTS) -DCONFIG_SCSI_G_NCR5380_PORT -E $< >$@ fore200e.i: $(LINUX)/drivers/atm/fore200e.c gcc $(CPPOPTS) -DCONFIG_ATM_FORE200E_TX_RETRY=5 -E $< >$@ sunhme.i: $(LINUX)/drivers/net/sunhme.c gcc $(CPPOPTS) -E $< >$@ sunhme.i.c: sunhme.i cat sunhme.i | protect-multiline-strings.awk | \ chfun.awk -v fun=happy_meal_pci_init -v from=static -v to=extern \ >$@ skfddi.i: $(LINUX)/drivers/net/skfp/skfddi.c gcc $(CPPOPTS) -I$(LINUX)/drivers/net/skfp -DTAG_MODE -DPCI -E $< >$@ smc9194.i: $(LINUX)/drivers/net/smc9194.c gcc $(CPPOPTS) -E $< >$@ intrep.i: $(LINUX)/fs/jffs/intrep.c gcc $(CPPOPTS) -E $< >$@ intrep.i.c: intrep.i cat intrep.i | protect-multiline-strings.awk | \ chfun.awk -v fun=jffs_checksum_flash -v from="__u32" -v to="extern __u32" \ >$@ sr.i: $(LINUX)/drivers/scsi/sr.c gcc $(CPPOPTS) -E $< >$@ qlogicisp.i: $(LINUX)/drivers/scsi/qlogicisp.c gcc $(CPPOPTS) -E $< >$@ tms380tr.i: $(LINUX)/drivers/net/tokenring/tms380tr.c gcc $(CPPOPTS) -DCONFIG_TMS380TR -E $< >$@ 3c505.i: $(LINUX)/drivers/net/3c505.c gcc $(CPPOPTS) -E $< >$@ scsi_scan.i: $(LINUX)/drivers/scsi/scsi_scan.c gcc $(CPPOPTS) -E $< >$@ lanstreamer.i: $(LINUX)/drivers/net/tokenring/lanstreamer.c gcc $(CPPOPTS) -E $< >$@ binsert.i: $(LINUX)/fs/hfs/binsert.c gcc $(CPPOPTS) -E $< >$@ rio_linux.i: $(LINUX)/drivers/char/rio/rio_linux.c gcc $(CPPOPTS) -D __FUNCTION__="" -E $< >$@ sd.i: $(LINUX)/drivers/scsi/sd.c gcc $(CPPOPTS) -E $< >$@ bluetooth.i: $(LINUX)/drivers/usb/bluetooth.c gcc $(CPPOPTS) -D __FUNCTION__="\"this_function\"" -E $< >$@