rtoss

Subversion Repositories:
Compare Path: Rev
With Path: Rev
/ @ 335  →  / @ 336
New file
/np21/video/cirrus_vga_rop2.h
@@ -0,0 +1,286 @@
#if defined(SUPPORT_CL_GD5430)
 
/*
* QEMU Cirrus CLGD 54xx VGA Emulator.
*
* Copyright (c) 2004 Fabrice Bellard
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
 
#if DEPTH == 8
#define PUTPIXEL() ROP_OP(d[0], col)
#elif DEPTH == 16
#define PUTPIXEL() ROP_OP(((uint16_t_ *)d)[0], col);
#elif DEPTH == 24
#define PUTPIXEL() ROP_OP(d[0], col); \
ROP_OP(d[1], (col >> 8)); \
ROP_OP(d[2], (col >> 16))
#elif DEPTH == 32
#define PUTPIXEL() ROP_OP(((uint32_t_ *)d)[0], col)
#else
//#error unsupported DEPTH
#endif
 
static void
glue(glue(glue(cirrus_patternfill_, ROP_NAME), _),DEPTH)
(CirrusVGAState * s, uint8_t * dst,
const uint8_t * src,
int dstpitch, int srcpitch,
int bltwidth, int bltheight)
{
uint8_t *d;
int x, y, pattern_y, pattern_pitch, pattern_x;
unsigned int col;
const uint8_t *src1;
#if DEPTH == 24
int skipleft = s->gr[0x2f] & 0x1f;
#else
int skipleft = (s->gr[0x2f] & 0x07) * (DEPTH / 8);
#endif
 
#if DEPTH == 8
pattern_pitch = 8;
#elif DEPTH == 16
pattern_pitch = 16;
#else
pattern_pitch = 32;
#endif
pattern_y = s->cirrus_blt_srcaddr & 7;
for(y = 0; y < bltheight; y++) {
pattern_x = skipleft;
d = dst + skipleft;
src1 = src + pattern_y * pattern_pitch;
for (x = skipleft; x < bltwidth; x += (DEPTH / 8)) {
#if DEPTH == 8
col = src1[pattern_x];
pattern_x = (pattern_x + 1) & 7;
#elif DEPTH == 16
col = ((uint16_t_ *)(src1 + pattern_x))[0];
pattern_x = (pattern_x + 2) & 15;
#elif DEPTH == 24
{
const uint8_t *src2 = src1 + pattern_x * 3;
col = src2[0] | (src2[1] << 8) | (src2[2] << 16);
pattern_x = (pattern_x + 1) & 7;
}
#else
col = ((uint32_t_ *)(src1 + pattern_x))[0];
pattern_x = (pattern_x + 4) & 31;
#endif
PUTPIXEL();
d += (DEPTH / 8);
}
pattern_y = (pattern_y + 1) & 7;
dst += dstpitch;
}
}
 
/* NOTE: srcpitch is ignored */
static void
glue(glue(glue(cirrus_colorexpand_transp_, ROP_NAME), _),DEPTH)
(CirrusVGAState * s, uint8_t * dst,
const uint8_t * src,
int dstpitch, int srcpitch,
int bltwidth, int bltheight)
{
uint8_t *d;
int x, y;
unsigned bits, bits_xor;
unsigned int col;
unsigned bitmask;
unsigned index;
#if DEPTH == 24
int dstskipleft = s->gr[0x2f] & 0x1f;
int srcskipleft = dstskipleft / 3;
#else
int srcskipleft = s->gr[0x2f] & 0x07;
int dstskipleft = srcskipleft * (DEPTH / 8);
#endif
 
if (s->cirrus_blt_modeext & CIRRUS_BLTMODEEXT_COLOREXPINV) {
bits_xor = 0xff;
col = s->cirrus_blt_bgcol;
} else {
bits_xor = 0x00;
col = s->cirrus_blt_fgcol;
}
 
for(y = 0; y < bltheight; y++) {
bitmask = 0x80 >> srcskipleft;
bits = *src++ ^ bits_xor;
d = dst + dstskipleft;
for (x = dstskipleft; x < bltwidth; x += (DEPTH / 8)) {
if ((bitmask & 0xff) == 0) {
bitmask = 0x80;
bits = *src++ ^ bits_xor;
}
index = (bits & bitmask);
if (index) {
PUTPIXEL();
}
d += (DEPTH / 8);
bitmask >>= 1;
}
dst += dstpitch;
}
}
 
static void
glue(glue(glue(cirrus_colorexpand_, ROP_NAME), _),DEPTH)
(CirrusVGAState * s, uint8_t * dst,
const uint8_t * src,
int dstpitch, int srcpitch,
int bltwidth, int bltheight)
{
uint32_t_ colors[2];
uint8_t *d;
int x, y;
unsigned bits;
unsigned int col;
unsigned bitmask;
int srcskipleft = s->gr[0x2f] & 0x07;
int dstskipleft = srcskipleft * (DEPTH / 8);
 
colors[0] = s->cirrus_blt_bgcol;
colors[1] = s->cirrus_blt_fgcol;
for(y = 0; y < bltheight; y++) {
bitmask = 0x80 >> srcskipleft;
bits = *src++;
d = dst + dstskipleft;
for (x = dstskipleft; x < bltwidth; x += (DEPTH / 8)) {
if ((bitmask & 0xff) == 0) {
bitmask = 0x80;
bits = *src++;
}
col = colors[!!(bits & bitmask)];
PUTPIXEL();
d += (DEPTH / 8);
bitmask >>= 1;
}
dst += dstpitch;
}
}
 
static void
glue(glue(glue(cirrus_colorexpand_pattern_transp_, ROP_NAME), _),DEPTH)
(CirrusVGAState * s, uint8_t * dst,
const uint8_t * src,
int dstpitch, int srcpitch,
int bltwidth, int bltheight)
{
uint8_t *d;
int x, y, bitpos, pattern_y;
unsigned int bits, bits_xor;
unsigned int col;
#if DEPTH == 24
int dstskipleft = s->gr[0x2f] & 0x1f;
int srcskipleft = dstskipleft / 3;
#else
int srcskipleft = s->gr[0x2f] & 0x07;
int dstskipleft = srcskipleft * (DEPTH / 8);
#endif
 
if (s->cirrus_blt_modeext & CIRRUS_BLTMODEEXT_COLOREXPINV) {
bits_xor = 0xff;
col = s->cirrus_blt_bgcol;
} else {
bits_xor = 0x00;
col = s->cirrus_blt_fgcol;
}
pattern_y = s->cirrus_blt_srcaddr & 7;
 
for(y = 0; y < bltheight; y++) {
bits = src[pattern_y] ^ bits_xor;
bitpos = 7 - srcskipleft;
d = dst + dstskipleft;
for (x = dstskipleft; x < bltwidth; x += (DEPTH / 8)) {
if ((bits >> bitpos) & 1) {
PUTPIXEL();
}
d += (DEPTH / 8);
bitpos = (bitpos - 1) & 7;
}
pattern_y = (pattern_y + 1) & 7;
dst += dstpitch;
}
}
 
static void
glue(glue(glue(cirrus_colorexpand_pattern_, ROP_NAME), _),DEPTH)
(CirrusVGAState * s, uint8_t * dst,
const uint8_t * src,
int dstpitch, int srcpitch,
int bltwidth, int bltheight)
{
uint32_t_ colors[2];
uint8_t *d;
int x, y, bitpos, pattern_y;
unsigned int bits;
unsigned int col;
int srcskipleft = s->gr[0x2f] & 0x07;
int dstskipleft = srcskipleft * (DEPTH / 8);
 
colors[0] = s->cirrus_blt_bgcol;
colors[1] = s->cirrus_blt_fgcol;
pattern_y = s->cirrus_blt_srcaddr & 7;
 
for(y = 0; y < bltheight; y++) {
bits = src[pattern_y];
bitpos = 7 - srcskipleft;
d = dst + dstskipleft;
for (x = dstskipleft; x < bltwidth; x += (DEPTH / 8)) {
col = colors[(bits >> bitpos) & 1];
PUTPIXEL();
d += (DEPTH / 8);
bitpos = (bitpos - 1) & 7;
}
pattern_y = (pattern_y + 1) & 7;
dst += dstpitch;
}
}
 
static void
glue(glue(glue(cirrus_fill_, ROP_NAME), _),DEPTH)
(CirrusVGAState *s,
uint8_t *dst, int dst_pitch,
int width, int height)
{
uint8_t *d, *d1;
uint32_t_ col;
int x, y;
 
col = s->cirrus_blt_fgcol;
 
d1 = dst;
for(y = 0; y < height; y++) {
d = d1;
for(x = 0; x < width; x += (DEPTH / 8)) {
PUTPIXEL();
d += (DEPTH / 8);
}
d1 += dst_pitch;
}
}
 
#undef DEPTH
#undef PUTPIXEL
 
 
#endif
New file
/np21/video/vga_int.h
@@ -0,0 +1,225 @@
/*
* QEMU internal VGA defines.
*
* Copyright (c) 2003-2004 Fabrice Bellard
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#define MSR_COLOR_EMULATION 0x01
#define MSR_PAGE_SELECT 0x20
 
#define ST01_V_RETRACE 0x08
#define ST01_DISP_ENABLE 0x01
 
/* bochs VBE support */
#define CONFIG_BOCHS_VBE
 
#define VBE_DISPI_MAX_XRES 1600
#define VBE_DISPI_MAX_YRES 1200
#define VBE_DISPI_MAX_BPP 32
 
#define VBE_DISPI_INDEX_ID 0x0
#define VBE_DISPI_INDEX_XRES 0x1
#define VBE_DISPI_INDEX_YRES 0x2
#define VBE_DISPI_INDEX_BPP 0x3
#define VBE_DISPI_INDEX_ENABLE 0x4
#define VBE_DISPI_INDEX_BANK 0x5
#define VBE_DISPI_INDEX_VIRT_WIDTH 0x6
#define VBE_DISPI_INDEX_VIRT_HEIGHT 0x7
#define VBE_DISPI_INDEX_X_OFFSET 0x8
#define VBE_DISPI_INDEX_Y_OFFSET 0x9
#define VBE_DISPI_INDEX_NB 0xa
 
#define VBE_DISPI_ID0 0xB0C0
#define VBE_DISPI_ID1 0xB0C1
#define VBE_DISPI_ID2 0xB0C2
#define VBE_DISPI_ID3 0xB0C3
#define VBE_DISPI_ID4 0xB0C4
 
#define VBE_DISPI_DISABLED 0x00
#define VBE_DISPI_ENABLED 0x01
#define VBE_DISPI_GETCAPS 0x02
#define VBE_DISPI_8BIT_DAC 0x20
#define VBE_DISPI_LFB_ENABLED 0x40
#define VBE_DISPI_NOCLEARMEM 0x80
 
#define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xE0000000
 
#ifdef CONFIG_BOCHS_VBE
 
#define VGA_STATE_COMMON_BOCHS_VBE \
uint16_t_ vbe_index; \
uint16_t_ vbe_regs[VBE_DISPI_INDEX_NB]; \
uint32_t_ vbe_start_addr; \
uint32_t_ vbe_line_offset; \
uint32_t_ vbe_bank_mask;
 
#else
 
#define VGA_STATE_COMMON_BOCHS_VBE
 
#endif /* !CONFIG_BOCHS_VBE */
 
#define CH_ATTR_SIZE (160 * 100)
#define VGA_MAX_HEIGHT 2048
 
struct vga_precise_retrace {
int64_t ticks_per_char;
int64_t total_chars;
int htotal;
int hstart;
int hend;
int vstart;
int vend;
int freq;
};
 
union vga_retrace {
struct vga_precise_retrace precise;
};
 
struct VGAState;
typedef uint8_t (* vga_retrace_fn)(struct VGAState *s);
typedef void (* vga_update_retrace_info_fn)(struct VGAState *s);
 
#define VGA_STATE_COMMON \
uint8_t *vram_ptr; \
ram_addr_t vram_offset; \
unsigned int vram_size; \
uint32_t_ lfb_addr; \
uint32_t_ lfb_end; \
uint32_t_ map_addr; \
uint32_t_ map_end; \
uint32_t_ lfb_vram_mapped; /* whether 0xa0000 is mapped as ram */ \
unsigned long bios_offset; \
unsigned int bios_size; \
int it_shift; \
/*PCIDevice *pci_dev;*/ \
uint32_t_ latch; \
uint8_t sr_index; \
uint8_t sr[256]; \
uint8_t gr_index; \
uint8_t gr[256]; \
uint8_t ar_index; \
uint8_t ar[21]; \
int ar_flip_flop; \
uint8_t cr_index; \
uint8_t cr[256]; /* CRT registers */ \
uint8_t msr; /* Misc Output Register */ \
uint8_t fcr; /* Feature Control Register */ \
uint8_t st00; /* status 0 */ \
uint8_t st01; /* status 1 */ \
uint8_t dac_state; \
uint8_t dac_sub_index; \
uint8_t dac_read_index; \
uint8_t dac_write_index; \
uint8_t dac_cache[3]; /* used when writing */ \
int dac_8bit; \
uint8_t palette[768]; \
int32_t bank_offset; \
int vga_io_memory; \
int (*get_bpp)(struct VGAState *s); \
void (*get_offsets)(struct VGAState *s, \
uint32_t_ *pline_offset, \
uint32_t_ *pstart_addr, \
uint32_t_ *pline_compare); \
void (*get_resolution)(struct VGAState *s, \
int *pwidth, \
int *pheight); \
VGA_STATE_COMMON_BOCHS_VBE \
/* display refresh support */ \
DisplayState *ds; \
uint32_t_ font_offsets[2]; \
int graphic_mode; \
uint8_t shift_control; \
uint8_t double_scan; \
uint32_t_ line_offset; \
uint32_t_ line_compare; \
uint32_t_ start_addr; \
uint32_t_ plane_updated; \
uint32_t_ last_line_offset; \
uint8_t last_cw, last_ch; \
uint32_t_ last_width, last_height; /* in chars or pixels */ \
uint32_t_ last_scr_width, last_scr_height; /* in pixels */ \
uint32_t_ last_depth; /* in bits */ \
uint8_t cursor_start, cursor_end; \
uint32_t_ cursor_offset; \
unsigned int (*rgb_to_pixel)(unsigned int r, \
unsigned int g, unsigned b); \
vga_hw_update_ptr update; \
vga_hw_invalidate_ptr invalidate; \
vga_hw_screen_dump_ptr screen_dump; \
vga_hw_text_update_ptr text_update; \
/* hardware mouse cursor support */ \
uint32_t_ invalidated_y_table[VGA_MAX_HEIGHT / 32]; \
void (*cursor_invalidate)(struct VGAState *s); \
void (*cursor_draw_line)(struct VGAState *s, uint8_t *d, int y); \
/* tell for each page if it has been updated since the last time */ \
uint32_t_ last_palette[256]; \
uint32_t_ last_ch_attr[CH_ATTR_SIZE]; /* XXX: make it dynamic */ \
/* retrace */ \
vga_retrace_fn retrace; \
vga_update_retrace_info_fn update_retrace_info; \
union vga_retrace retrace_info;
 
 
typedef struct VGAState {
VGA_STATE_COMMON
} VGAState;
 
static int c6_to_8(int v)
{
int b;
v &= 0x3f;
b = v & 1;
return (v << 2) | (b << 1) | b;
}
 
void vga_common_init(VGAState *s, uint8_t *vga_ram_base, ram_addr_t vga_ram_offset, int vga_ram_size){}
void vga_init(VGAState *s){}
void vga_reset(void *s){}
 
void vga_dirty_log_start(VGAState *s){}
void vga_dirty_log_stop(VGAState *s){}
 
uint32_t_ vga_mem_readb(void *opaque, target_phys_addr_t addr){
return 0;
}
void vga_mem_writeb(void *opaque, target_phys_addr_t addr, uint32_t_ val){
}
void vga_invalidate_scanlines(VGAState *s, int y1, int y2){}
int ppm_save(const char *filename, struct DisplaySurface *ds){return 0;}
 
void vga_draw_cursor_line_8(uint8_t *d1, const uint8_t *src1,
int poffset, int w,
unsigned int color0, unsigned int color1,
unsigned int color_xor){}
void vga_draw_cursor_line_16(uint8_t *d1, const uint8_t *src1,
int poffset, int w,
unsigned int color0, unsigned int color1,
unsigned int color_xor){}
void vga_draw_cursor_line_32(uint8_t *d1, const uint8_t *src1,
int poffset, int w,
unsigned int color0, unsigned int color1,
unsigned int color_xor){}
 
extern const uint8_t sr_mask[8];
extern const uint8_t gr_mask[16];
New file
/np21/video/cirrus_vga.c
@@ -0,0 +1,3723 @@
#include "compiler.h"
 
#if defined(SUPPORT_CL_GD5430)
 
#include "video.h"
#include "cirrus_vga.h"
#include "vga_int.h"
#include "dosio.h"
#include "cpucore.h"
#include "pccore.h"
#include "iocore.h"
 
const uint8_t sr_mask[8] = {0};
const uint8_t gr_mask[16] = {0};
 
static void cpu_register_physical_memory(target_phys_addr_t start_addr, ram_addr_t size, ram_addr_t phys_offset){
//memp_writes(start_addr, mem+phys_offset, size);
}
 
 
/*
* QEMU Cirrus CLGD 54xx VGA Emulator.
*
* Copyright (c) 2004 Fabrice Bellard
* Copyright (c) 2004 Makoto Suzuki (suzu)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/*
* Reference: Finn Thogersons' VGADOC4b
* available at http://home.worldonline.dk/~finth/
*/
//#include "hw.h"
//#include "pc.h"
//#include "pci.h"
//#include "console.h"
//#include "vga_int.h"
//#include "kvm.h"
 
/*
* TODO:
* - destination write mask support not complete (bits 5..7)
* - optimize linear mappings
* - optimize bitblt functions
*/
 
//#define DEBUG_CIRRUS
//#define DEBUG_BITBLT
 
/***************************************
*
* definitions
*
***************************************/
 
#define qemu_MIN(a,b) ((a) < (b) ? (a) : (b))
 
// ID
#define CIRRUS_ID_CLGD5422 (0x23<<2)
#define CIRRUS_ID_CLGD5426 (0x24<<2)
#define CIRRUS_ID_CLGD5424 (0x25<<2)
#define CIRRUS_ID_CLGD5428 (0x26<<2)
#define CIRRUS_ID_CLGD5430 (0x28<<2)
#define CIRRUS_ID_CLGD5434 (0x2A<<2)
#define CIRRUS_ID_CLGD5436 (0x2B<<2)
#define CIRRUS_ID_CLGD5446 (0x2E<<2)
 
// sequencer 0x07
#define CIRRUS_SR7_BPP_VGA 0x00
#define CIRRUS_SR7_BPP_SVGA 0x01
#define CIRRUS_SR7_BPP_MASK 0x0e
#define CIRRUS_SR7_BPP_8 0x00
#define CIRRUS_SR7_BPP_16_DOUBLEVCLK 0x02
#define CIRRUS_SR7_BPP_24 0x04
#define CIRRUS_SR7_BPP_16 0x06
#define CIRRUS_SR7_BPP_32 0x08
#define CIRRUS_SR7_ISAADDR_MASK 0xe0
 
// sequencer 0x0f
#define CIRRUS_MEMSIZE_512k 0x08
#define CIRRUS_MEMSIZE_1M 0x10
#define CIRRUS_MEMSIZE_2M 0x18
#define CIRRUS_MEMFLAGS_BANKSWITCH 0x80 // bank switching is enabled.
 
// sequencer 0x12
#define CIRRUS_CURSOR_SHOW 0x01
#define CIRRUS_CURSOR_HIDDENPEL 0x02
#define CIRRUS_CURSOR_LARGE 0x04 // 64x64 if set, 32x32 if clear
 
// sequencer 0x17
#define CIRRUS_BUSTYPE_VLBFAST 0x10
#define CIRRUS_BUSTYPE_PCI 0x20
#define CIRRUS_BUSTYPE_VLBSLOW 0x30
#define CIRRUS_BUSTYPE_ISA 0x38
#define CIRRUS_MMIO_ENABLE 0x04
#define CIRRUS_MMIO_USE_PCIADDR 0x40 // 0xb8000 if cleared.
#define CIRRUS_MEMSIZEEXT_DOUBLE 0x80
 
// control 0x0b
#define CIRRUS_BANKING_DUAL 0x01
#define CIRRUS_BANKING_GRANULARITY_16K 0x20 // set:16k, clear:4k
 
// control 0x30
#define CIRRUS_BLTMODE_BACKWARDS 0x01
#define CIRRUS_BLTMODE_MEMSYSDEST 0x02
#define CIRRUS_BLTMODE_MEMSYSSRC 0x04
#define CIRRUS_BLTMODE_TRANSPARENTCOMP 0x08
#define CIRRUS_BLTMODE_PATTERNCOPY 0x40
#define CIRRUS_BLTMODE_COLOREXPAND 0x80
#define CIRRUS_BLTMODE_PIXELWIDTHMASK 0x30
#define CIRRUS_BLTMODE_PIXELWIDTH8 0x00
#define CIRRUS_BLTMODE_PIXELWIDTH16 0x10
#define CIRRUS_BLTMODE_PIXELWIDTH24 0x20
#define CIRRUS_BLTMODE_PIXELWIDTH32 0x30
 
// control 0x31
#define CIRRUS_BLT_BUSY 0x01
#define CIRRUS_BLT_START 0x02
#define CIRRUS_BLT_RESET 0x04
#define CIRRUS_BLT_FIFOUSED 0x10
#define CIRRUS_BLT_AUTOSTART 0x80
 
// control 0x32
#define CIRRUS_ROP_0 0x00
#define CIRRUS_ROP_SRC_AND_DST 0x05
#define CIRRUS_ROP_NOP 0x06
#define CIRRUS_ROP_SRC_AND_NOTDST 0x09
#define CIRRUS_ROP_NOTDST 0x0b
#define CIRRUS_ROP_SRC 0x0d
#define CIRRUS_ROP_1 0x0e
#define CIRRUS_ROP_NOTSRC_AND_DST 0x50
#define CIRRUS_ROP_SRC_XOR_DST 0x59
#define CIRRUS_ROP_SRC_OR_DST 0x6d
#define CIRRUS_ROP_NOTSRC_OR_NOTDST 0x90
#define CIRRUS_ROP_SRC_NOTXOR_DST 0x95
#define CIRRUS_ROP_SRC_OR_NOTDST 0xad
#define CIRRUS_ROP_NOTSRC 0xd0
#define CIRRUS_ROP_NOTSRC_OR_DST 0xd6
#define CIRRUS_ROP_NOTSRC_AND_NOTDST 0xda
 
#define CIRRUS_ROP_NOP_INDEX 2
#define CIRRUS_ROP_SRC_INDEX 5
 
// control 0x33
#define CIRRUS_BLTMODEEXT_SOLIDFILL 0x04
#define CIRRUS_BLTMODEEXT_COLOREXPINV 0x02
#define CIRRUS_BLTMODEEXT_DWORDGRANULARITY 0x01
 
// memory-mapped IO
#define CIRRUS_MMIO_BLTBGCOLOR 0x00 // dword
#define CIRRUS_MMIO_BLTFGCOLOR 0x04 // dword
#define CIRRUS_MMIO_BLTWIDTH 0x08 // word
#define CIRRUS_MMIO_BLTHEIGHT 0x0a // word
#define CIRRUS_MMIO_BLTDESTPITCH 0x0c // word
#define CIRRUS_MMIO_BLTSRCPITCH 0x0e // word
#define CIRRUS_MMIO_BLTDESTADDR 0x10 // dword
#define CIRRUS_MMIO_BLTSRCADDR 0x14 // dword
#define CIRRUS_MMIO_BLTWRITEMASK 0x17 // byte
#define CIRRUS_MMIO_BLTMODE 0x18 // byte
#define CIRRUS_MMIO_BLTROP 0x1a // byte
#define CIRRUS_MMIO_BLTMODEEXT 0x1b // byte
#define CIRRUS_MMIO_BLTTRANSPARENTCOLOR 0x1c // word?
#define CIRRUS_MMIO_BLTTRANSPARENTCOLORMASK 0x20 // word?
#define CIRRUS_MMIO_LINEARDRAW_START_X 0x24 // word
#define CIRRUS_MMIO_LINEARDRAW_START_Y 0x26 // word
#define CIRRUS_MMIO_LINEARDRAW_END_X 0x28 // word
#define CIRRUS_MMIO_LINEARDRAW_END_Y 0x2a // word
#define CIRRUS_MMIO_LINEARDRAW_LINESTYLE_INC 0x2c // byte
#define CIRRUS_MMIO_LINEARDRAW_LINESTYLE_ROLLOVER 0x2d // byte
#define CIRRUS_MMIO_LINEARDRAW_LINESTYLE_MASK 0x2e // byte
#define CIRRUS_MMIO_LINEARDRAW_LINESTYLE_ACCUM 0x2f // byte
#define CIRRUS_MMIO_BRESENHAM_K1 0x30 // word
#define CIRRUS_MMIO_BRESENHAM_K3 0x32 // word
#define CIRRUS_MMIO_BRESENHAM_ERROR 0x34 // word
#define CIRRUS_MMIO_BRESENHAM_DELTA_MAJOR 0x36 // word
#define CIRRUS_MMIO_BRESENHAM_DIRECTION 0x38 // byte
#define CIRRUS_MMIO_LINEDRAW_MODE 0x39 // byte
#define CIRRUS_MMIO_BLTSTATUS 0x40 // byte
 
// PCI 0x02: device
#define PCI_DEVICE_CLGD5462 0x00d0
#define PCI_DEVICE_CLGD5465 0x00d6
 
// PCI 0x04: command(word), 0x06(word): status
#define PCI_COMMAND_IOACCESS 0x0001
#define PCI_COMMAND_MEMACCESS 0x0002
#define PCI_COMMAND_BUSMASTER 0x0004
#define PCI_COMMAND_SPECIALCYCLE 0x0008
#define PCI_COMMAND_MEMWRITEINVALID 0x0010
#define PCI_COMMAND_PALETTESNOOPING 0x0020
#define PCI_COMMAND_PARITYDETECTION 0x0040
#define PCI_COMMAND_ADDRESSDATASTEPPING 0x0080
#define PCI_COMMAND_SERR 0x0100
#define PCI_COMMAND_BACKTOBACKTRANS 0x0200
// PCI 0x08, 0xff000000 (0x09-0x0b:class,0x08:rev)
#define PCI_CLASS_BASE_DISPLAY 0x03
// PCI 0x08, 0x00ff0000
#define PCI_CLASS_SUB_VGA 0x00
// PCI 0x0c, 0x00ff0000 (0x0c:cacheline,0x0d:latency,0x0e:headertype,0x0f:Built-in self test)
#define PCI_CLASS_HEADERTYPE_00h 0x00
// 0x10-0x3f (headertype 00h)
// PCI 0x10,0x14,0x18,0x1c,0x20,0x24: base address mapping registers
// 0x10: MEMBASE, 0x14: IOBASE(hard-coded in XFree86 3.x)
#define PCI_MAP_MEM 0x0
#define PCI_MAP_IO 0x1
#define PCI_MAP_MEM_ADDR_MASK (~0xf)
#define PCI_MAP_IO_ADDR_MASK (~0x3)
#define PCI_MAP_MEMFLAGS_32BIT 0x0
#define PCI_MAP_MEMFLAGS_32BIT_1M 0x1
#define PCI_MAP_MEMFLAGS_64BIT 0x4
#define PCI_MAP_MEMFLAGS_CACHEABLE 0x8
// PCI 0x28: cardbus CIS pointer
// PCI 0x2c: subsystem vendor id, 0x2e: subsystem id
// PCI 0x30: expansion ROM base address
#define PCI_ROMBIOS_ENABLED 0x1
// PCI 0x34: 0xffffff00=reserved, 0x000000ff=capabilities pointer
// PCI 0x38: reserved
// PCI 0x3c: 0x3c=int-line, 0x3d=int-pin, 0x3e=min-gnt, 0x3f=maax-lat
 
#define CIRRUS_PNPMMIO_SIZE 0x1000
 
 
/* I/O and memory hook */
#define CIRRUS_HOOK_NOT_HANDLED 0
#define CIRRUS_HOOK_HANDLED 1
 
#define ABS(a) ((signed)(a) > 0 ? a : -a)
 
#define BLTUNSAFE(s) \
( \
( /* check dst is within bounds */ \
(s)->cirrus_blt_height * ABS((s)->cirrus_blt_dstpitch) \
+ ((s)->cirrus_blt_dstaddr & (s)->cirrus_addr_mask) > \
(s)->vram_size \
) || \
( /* check src is within bounds */ \
(s)->cirrus_blt_height * ABS((s)->cirrus_blt_srcpitch) \
+ ((s)->cirrus_blt_srcaddr & (s)->cirrus_addr_mask) > \
(s)->vram_size \
) \
)
 
struct CirrusVGAState;
typedef void (*cirrus_bitblt_rop_t) (struct CirrusVGAState *s,
uint8_t * dst, const uint8_t * src,
int dstpitch, int srcpitch,
int bltwidth, int bltheight);
typedef void (*cirrus_fill_t)(struct CirrusVGAState *s,
uint8_t *dst, int dst_pitch, int width, int height);
 
typedef struct CirrusVGAState {
VGA_STATE_COMMON
 
int cirrus_linear_io_addr;
int cirrus_linear_bitblt_io_addr;
int cirrus_mmio_io_addr;
uint32_t_ cirrus_addr_mask;
uint32_t_ linear_mmio_mask;
uint8_t cirrus_shadow_gr0;
uint8_t cirrus_shadow_gr1;
uint8_t cirrus_hidden_dac_lockindex;
uint8_t cirrus_hidden_dac_data;
uint32_t_ cirrus_bank_base[2];
uint32_t_ cirrus_bank_limit[2];
uint8_t cirrus_hidden_palette[48];
uint32_t_ hw_cursor_x;
uint32_t_ hw_cursor_y;
int cirrus_blt_pixelwidth;
int cirrus_blt_width;
int cirrus_blt_height;
int cirrus_blt_dstpitch;
int cirrus_blt_srcpitch;
uint32_t_ cirrus_blt_fgcol;
uint32_t_ cirrus_blt_bgcol;
uint32_t_ cirrus_blt_dstaddr;
uint32_t_ cirrus_blt_srcaddr;
uint8_t cirrus_blt_mode;
uint8_t cirrus_blt_modeext;
cirrus_bitblt_rop_t cirrus_rop;
#define CIRRUS_BLTBUFSIZE (2048 * 4) /* one line width */
uint8_t cirrus_bltbuf[CIRRUS_BLTBUFSIZE];
uint8_t *cirrus_srcptr;
uint8_t *cirrus_srcptr_end;
uint32_t_ cirrus_srccounter;
/* hwcursor display state */
int last_hw_cursor_size;
int last_hw_cursor_x;
int last_hw_cursor_y;
int last_hw_cursor_y_start;
int last_hw_cursor_y_end;
int real_vram_size; /* XXX: suppress that */
CPUWriteMemoryFunc **cirrus_linear_write;
int device_id;
int bustype;
} CirrusVGAState;
/*
typedef struct PCICirrusVGAState {
PCIDevice dev;
CirrusVGAState cirrus_vga;
} PCICirrusVGAState;
*/
 
void *cirrusvga_opaque = NULL;
CirrusVGAState *cirrusvga = NULL;
 
static uint8_t vga_dumb_retrace(VGAState *s)
{
return s->st01 ^ (ST01_V_RETRACE | ST01_DISP_ENABLE);
}
 
static uint8_t rop_to_index[256];
 
/***************************************
*
* prototypes.
*
***************************************/
 
 
static void cirrus_bitblt_reset(CirrusVGAState *s);
static void cirrus_update_memory_access(CirrusVGAState *s);
 
/***************************************
*
* raster operations
*
***************************************/
 
static void cirrus_bitblt_rop_nop(CirrusVGAState *s,
uint8_t *dst,const uint8_t *src,
int dstpitch,int srcpitch,
int bltwidth,int bltheight)
{
}
 
static void cirrus_bitblt_fill_nop(CirrusVGAState *s,
uint8_t *dst,
int dstpitch, int bltwidth,int bltheight)
{
}
 
#define ROP_NAME 0
#define ROP_OP(d, s) d = 0
#include "cirrus_vga_rop.h"
 
#define ROP_NAME src_and_dst
#define ROP_OP(d, s) d = (s) & (d)
#include "cirrus_vga_rop.h"
 
#define ROP_NAME src_and_notdst
#define ROP_OP(d, s) d = (s) & (~(d))
#include "cirrus_vga_rop.h"
 
#define ROP_NAME notdst
#define ROP_OP(d, s) d = ~(d)
#include "cirrus_vga_rop.h"
 
#define ROP_NAME src
#define ROP_OP(d, s) d = s
#include "cirrus_vga_rop.h"
 
#define ROP_NAME 1
#define ROP_OP(d, s) d = ~0
#include "cirrus_vga_rop.h"
 
#define ROP_NAME notsrc_and_dst
#define ROP_OP(d, s) d = (~(s)) & (d)
#include "cirrus_vga_rop.h"
 
#define ROP_NAME src_xor_dst
#define ROP_OP(d, s) d = (s) ^ (d)
#include "cirrus_vga_rop.h"
 
#define ROP_NAME src_or_dst
#define ROP_OP(d, s) d = (s) | (d)
#include "cirrus_vga_rop.h"
 
#define ROP_NAME notsrc_or_notdst
#define ROP_OP(d, s) d = (~(s)) | (~(d))
#include "cirrus_vga_rop.h"
 
#define ROP_NAME src_notxor_dst
#define ROP_OP(d, s) d = ~((s) ^ (d))
#include "cirrus_vga_rop.h"
 
#define ROP_NAME src_or_notdst
#define ROP_OP(d, s) d = (s) | (~(d))
#include "cirrus_vga_rop.h"
 
#define ROP_NAME notsrc
#define ROP_OP(d, s) d = (~(s))
#include "cirrus_vga_rop.h"
 
#define ROP_NAME notsrc_or_dst
#define ROP_OP(d, s) d = (~(s)) | (d)
#include "cirrus_vga_rop.h"
 
#define ROP_NAME notsrc_and_notdst
#define ROP_OP(d, s) d = (~(s)) & (~(d))
#include "cirrus_vga_rop.h"
 
#include "cirrus_func.h"
 
static const cirrus_bitblt_rop_t cirrus_fwd_rop[16] = {
cirrus_bitblt_rop_fwd_0,
cirrus_bitblt_rop_fwd_src_and_dst,
cirrus_bitblt_rop_nop,
cirrus_bitblt_rop_fwd_src_and_notdst,
cirrus_bitblt_rop_fwd_notdst,
cirrus_bitblt_rop_fwd_src,
cirrus_bitblt_rop_fwd_1,
cirrus_bitblt_rop_fwd_notsrc_and_dst,
cirrus_bitblt_rop_fwd_src_xor_dst,
cirrus_bitblt_rop_fwd_src_or_dst,
cirrus_bitblt_rop_fwd_notsrc_or_notdst,
cirrus_bitblt_rop_fwd_src_notxor_dst,
cirrus_bitblt_rop_fwd_src_or_notdst,
cirrus_bitblt_rop_fwd_notsrc,
cirrus_bitblt_rop_fwd_notsrc_or_dst,
cirrus_bitblt_rop_fwd_notsrc_and_notdst,
};
 
static const cirrus_bitblt_rop_t cirrus_bkwd_rop[16] = {
cirrus_bitblt_rop_bkwd_0,
cirrus_bitblt_rop_bkwd_src_and_dst,
cirrus_bitblt_rop_nop,
cirrus_bitblt_rop_bkwd_src_and_notdst,
cirrus_bitblt_rop_bkwd_notdst,
cirrus_bitblt_rop_bkwd_src,
cirrus_bitblt_rop_bkwd_1,
cirrus_bitblt_rop_bkwd_notsrc_and_dst,
cirrus_bitblt_rop_bkwd_src_xor_dst,
cirrus_bitblt_rop_bkwd_src_or_dst,
cirrus_bitblt_rop_bkwd_notsrc_or_notdst,
cirrus_bitblt_rop_bkwd_src_notxor_dst,
cirrus_bitblt_rop_bkwd_src_or_notdst,
cirrus_bitblt_rop_bkwd_notsrc,
cirrus_bitblt_rop_bkwd_notsrc_or_dst,
cirrus_bitblt_rop_bkwd_notsrc_and_notdst,
};
 
#define TRANSP_ROP(name) {\
name ## _8,\
name ## _16,\
}
#define TRANSP_NOP(func) {\
func,\
func,\
}
 
static const cirrus_bitblt_rop_t cirrus_fwd_transp_rop[16][2] = {
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_0),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_src_and_dst),
TRANSP_NOP(cirrus_bitblt_rop_nop),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_src_and_notdst),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_notdst),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_src),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_1),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_notsrc_and_dst),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_src_xor_dst),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_src_or_dst),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_notsrc_or_notdst),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_src_notxor_dst),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_src_or_notdst),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_notsrc),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_notsrc_or_dst),
TRANSP_ROP(cirrus_bitblt_rop_fwd_transp_notsrc_and_notdst),
};
 
static const cirrus_bitblt_rop_t cirrus_bkwd_transp_rop[16][2] = {
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_0),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_src_and_dst),
TRANSP_NOP(cirrus_bitblt_rop_nop),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_src_and_notdst),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_notdst),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_src),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_1),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_notsrc_and_dst),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_src_xor_dst),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_src_or_dst),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_notsrc_or_notdst),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_src_notxor_dst),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_src_or_notdst),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_notsrc),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_notsrc_or_dst),
TRANSP_ROP(cirrus_bitblt_rop_bkwd_transp_notsrc_and_notdst),
};
 
#define ROP2(name) {\
name ## _8,\
name ## _16,\
name ## _24,\
name ## _32,\
}
 
#define ROP_NOP2(func) {\
func,\
func,\
func,\
func,\
}
 
static const cirrus_bitblt_rop_t cirrus_patternfill[16][4] = {
ROP2(cirrus_patternfill_0),
ROP2(cirrus_patternfill_src_and_dst),
ROP_NOP2(cirrus_bitblt_rop_nop),
ROP2(cirrus_patternfill_src_and_notdst),
ROP2(cirrus_patternfill_notdst),
ROP2(cirrus_patternfill_src),
ROP2(cirrus_patternfill_1),
ROP2(cirrus_patternfill_notsrc_and_dst),
ROP2(cirrus_patternfill_src_xor_dst),
ROP2(cirrus_patternfill_src_or_dst),
ROP2(cirrus_patternfill_notsrc_or_notdst),
ROP2(cirrus_patternfill_src_notxor_dst),
ROP2(cirrus_patternfill_src_or_notdst),
ROP2(cirrus_patternfill_notsrc),
ROP2(cirrus_patternfill_notsrc_or_dst),
ROP2(cirrus_patternfill_notsrc_and_notdst),
};
 
static const cirrus_bitblt_rop_t cirrus_colorexpand_transp[16][4] = {
ROP2(cirrus_colorexpand_transp_0),
ROP2(cirrus_colorexpand_transp_src_and_dst),
ROP_NOP2(cirrus_bitblt_rop_nop),
ROP2(cirrus_colorexpand_transp_src_and_notdst),
ROP2(cirrus_colorexpand_transp_notdst),
ROP2(cirrus_colorexpand_transp_src),
ROP2(cirrus_colorexpand_transp_1),
ROP2(cirrus_colorexpand_transp_notsrc_and_dst),
ROP2(cirrus_colorexpand_transp_src_xor_dst),
ROP2(cirrus_colorexpand_transp_src_or_dst),
ROP2(cirrus_colorexpand_transp_notsrc_or_notdst),
ROP2(cirrus_colorexpand_transp_src_notxor_dst),
ROP2(cirrus_colorexpand_transp_src_or_notdst),
ROP2(cirrus_colorexpand_transp_notsrc),
ROP2(cirrus_colorexpand_transp_notsrc_or_dst),
ROP2(cirrus_colorexpand_transp_notsrc_and_notdst),
};
 
static const cirrus_bitblt_rop_t cirrus_colorexpand[16][4] = {
ROP2(cirrus_colorexpand_0),
ROP2(cirrus_colorexpand_src_and_dst),
ROP_NOP2(cirrus_bitblt_rop_nop),
ROP2(cirrus_colorexpand_src_and_notdst),
ROP2(cirrus_colorexpand_notdst),
ROP2(cirrus_colorexpand_src),
ROP2(cirrus_colorexpand_1),
ROP2(cirrus_colorexpand_notsrc_and_dst),
ROP2(cirrus_colorexpand_src_xor_dst),
ROP2(cirrus_colorexpand_src_or_dst),
ROP2(cirrus_colorexpand_notsrc_or_notdst),
ROP2(cirrus_colorexpand_src_notxor_dst),
ROP2(cirrus_colorexpand_src_or_notdst),
ROP2(cirrus_colorexpand_notsrc),
ROP2(cirrus_colorexpand_notsrc_or_dst),
ROP2(cirrus_colorexpand_notsrc_and_notdst),
};
 
static const cirrus_bitblt_rop_t cirrus_colorexpand_pattern_transp[16][4] = {
ROP2(cirrus_colorexpand_pattern_transp_0),
ROP2(cirrus_colorexpand_pattern_transp_src_and_dst),
ROP_NOP2(cirrus_bitblt_rop_nop),
ROP2(cirrus_colorexpand_pattern_transp_src_and_notdst),
ROP2(cirrus_colorexpand_pattern_transp_notdst),
ROP2(cirrus_colorexpand_pattern_transp_src),
ROP2(cirrus_colorexpand_pattern_transp_1),
ROP2(cirrus_colorexpand_pattern_transp_notsrc_and_dst),
ROP2(cirrus_colorexpand_pattern_transp_src_xor_dst),
ROP2(cirrus_colorexpand_pattern_transp_src_or_dst),
ROP2(cirrus_colorexpand_pattern_transp_notsrc_or_notdst),
ROP2(cirrus_colorexpand_pattern_transp_src_notxor_dst),
ROP2(cirrus_colorexpand_pattern_transp_src_or_notdst),
ROP2(cirrus_colorexpand_pattern_transp_notsrc),
ROP2(cirrus_colorexpand_pattern_transp_notsrc_or_dst),
ROP2(cirrus_colorexpand_pattern_transp_notsrc_and_notdst),
};
 
static const cirrus_bitblt_rop_t cirrus_colorexpand_pattern[16][4] = {
ROP2(cirrus_colorexpand_pattern_0),
ROP2(cirrus_colorexpand_pattern_src_and_dst),
ROP_NOP2(cirrus_bitblt_rop_nop),
ROP2(cirrus_colorexpand_pattern_src_and_notdst),
ROP2(cirrus_colorexpand_pattern_notdst),
ROP2(cirrus_colorexpand_pattern_src),
ROP2(cirrus_colorexpand_pattern_1),
ROP2(cirrus_colorexpand_pattern_notsrc_and_dst),
ROP2(cirrus_colorexpand_pattern_src_xor_dst),
ROP2(cirrus_colorexpand_pattern_src_or_dst),
ROP2(cirrus_colorexpand_pattern_notsrc_or_notdst),
ROP2(cirrus_colorexpand_pattern_src_notxor_dst),
ROP2(cirrus_colorexpand_pattern_src_or_notdst),
ROP2(cirrus_colorexpand_pattern_notsrc),
ROP2(cirrus_colorexpand_pattern_notsrc_or_dst),
ROP2(cirrus_colorexpand_pattern_notsrc_and_notdst),
};
 
static const cirrus_fill_t cirrus_fill[16][4] = {
ROP2(cirrus_fill_0),
ROP2(cirrus_fill_src_and_dst),
ROP_NOP2(cirrus_bitblt_fill_nop),
ROP2(cirrus_fill_src_and_notdst),
ROP2(cirrus_fill_notdst),
ROP2(cirrus_fill_src),
ROP2(cirrus_fill_1),
ROP2(cirrus_fill_notsrc_and_dst),
ROP2(cirrus_fill_src_xor_dst),
ROP2(cirrus_fill_src_or_dst),
ROP2(cirrus_fill_notsrc_or_notdst),
ROP2(cirrus_fill_src_notxor_dst),
ROP2(cirrus_fill_src_or_notdst),
ROP2(cirrus_fill_notsrc),
ROP2(cirrus_fill_notsrc_or_dst),
ROP2(cirrus_fill_notsrc_and_notdst),
};
 
static void cirrus_bitblt_fgcol(CirrusVGAState *s)
{
unsigned int color;
switch (s->cirrus_blt_pixelwidth) {
case 1:
s->cirrus_blt_fgcol = s->cirrus_shadow_gr1;
break;
case 2:
color = s->cirrus_shadow_gr1 | (s->gr[0x11] << 8);
s->cirrus_blt_fgcol = le16_to_cpu(color);
break;
case 3:
s->cirrus_blt_fgcol = s->cirrus_shadow_gr1 |
(s->gr[0x11] << 8) | (s->gr[0x13] << 16);
break;
default:
case 4:
color = s->cirrus_shadow_gr1 | (s->gr[0x11] << 8) |
(s->gr[0x13] << 16) | (s->gr[0x15] << 24);
s->cirrus_blt_fgcol = le32_to_cpu(color);
break;
}
}
 
static void cirrus_bitblt_bgcol(CirrusVGAState *s)
{
unsigned int color;
switch (s->cirrus_blt_pixelwidth) {
case 1:
s->cirrus_blt_bgcol = s->cirrus_shadow_gr0;
break;
case 2:
color = s->cirrus_shadow_gr0 | (s->gr[0x10] << 8);
s->cirrus_blt_bgcol = le16_to_cpu(color);
break;
case 3:
s->cirrus_blt_bgcol = s->cirrus_shadow_gr0 |
(s->gr[0x10] << 8) | (s->gr[0x12] << 16);
break;
default:
case 4:
color = s->cirrus_shadow_gr0 | (s->gr[0x10] << 8) |
(s->gr[0x12] << 16) | (s->gr[0x14] << 24);
s->cirrus_blt_bgcol = le32_to_cpu(color);
break;
}
}
 
static void cirrus_invalidate_region(CirrusVGAState * s, int off_begin,
int off_pitch, int bytesperline,
int lines)
{
int y;
int off_cur;
int off_cur_end;
 
for (y = 0; y < lines; y++) {
off_cur = off_begin;
off_cur_end = (off_cur + bytesperline) & s->cirrus_addr_mask;
off_cur &= TARGET_PAGE_MASK;
while (off_cur < off_cur_end) {
cpu_physical_memory_set_dirty(s->vram_offset + off_cur);
off_cur += TARGET_PAGE_SIZE;
}
off_begin += off_pitch;
}
}
 
static int cirrus_bitblt_common_patterncopy(CirrusVGAState * s,
const uint8_t * src)
{
uint8_t *dst;
 
dst = s->vram_ptr + (s->cirrus_blt_dstaddr & s->cirrus_addr_mask);
 
if (BLTUNSAFE(s))
return 0;
 
(*s->cirrus_rop) (s, dst, src,
s->cirrus_blt_dstpitch, 0,
s->cirrus_blt_width, s->cirrus_blt_height);
cirrus_invalidate_region(s, s->cirrus_blt_dstaddr,
s->cirrus_blt_dstpitch, s->cirrus_blt_width,
s->cirrus_blt_height);
return 1;
}
 
/* fill */
 
static int cirrus_bitblt_solidfill(CirrusVGAState *s, int blt_rop)
{
cirrus_fill_t rop_func;
 
if (BLTUNSAFE(s))
return 0;
rop_func = cirrus_fill[rop_to_index[blt_rop]][s->cirrus_blt_pixelwidth - 1];
rop_func(s, s->vram_ptr + (s->cirrus_blt_dstaddr & s->cirrus_addr_mask),
s->cirrus_blt_dstpitch,
s->cirrus_blt_width, s->cirrus_blt_height);
cirrus_invalidate_region(s, s->cirrus_blt_dstaddr,
s->cirrus_blt_dstpitch, s->cirrus_blt_width,
s->cirrus_blt_height);
cirrus_bitblt_reset(s);
return 1;
}
 
/***************************************
*
* bitblt (video-to-video)
*
***************************************/
 
static int cirrus_bitblt_videotovideo_patterncopy(CirrusVGAState * s)
{
return cirrus_bitblt_common_patterncopy(s,
s->vram_ptr + ((s->cirrus_blt_srcaddr & ~7) &
s->cirrus_addr_mask));
}
 
static void cirrus_do_copy(CirrusVGAState *s, int dst, int src, int w, int h)
{
int sx, sy;
int dx, dy;
int width, height;
int depth;
int notify = 0;
 
depth = s->get_bpp((VGAState *)s) / 8;
s->get_resolution((VGAState *)s, &width, &height);
 
/* extra x, y */
sx = (src % ABS(s->cirrus_blt_srcpitch)) / depth;
sy = (src / ABS(s->cirrus_blt_srcpitch));
dx = (dst % ABS(s->cirrus_blt_dstpitch)) / depth;
dy = (dst / ABS(s->cirrus_blt_dstpitch));
 
/* normalize width */
w /= depth;
 
/* if we're doing a backward copy, we have to adjust
our x/y to be the upper left corner (instead of the lower
right corner) */
if (s->cirrus_blt_dstpitch < 0) {
sx -= (s->cirrus_blt_width / depth) - 1;
dx -= (s->cirrus_blt_width / depth) - 1;
sy -= s->cirrus_blt_height - 1;
dy -= s->cirrus_blt_height - 1;
}
 
/* are we in the visible portion of memory? */
if (sx >= 0 && sy >= 0 && dx >= 0 && dy >= 0 &&
(sx + w) <= width && (sy + h) <= height &&
(dx + w) <= width && (dy + h) <= height) {
notify = 1;
}
 
/* make to sure only copy if it's a plain copy ROP */
if (*s->cirrus_rop != cirrus_bitblt_rop_fwd_src &&
*s->cirrus_rop != cirrus_bitblt_rop_bkwd_src)
notify = 0;
 
/* we have to flush all pending changes so that the copy
is generated at the appropriate moment in time */
if (notify)
vga_hw_update();
 
(*s->cirrus_rop) (s, s->vram_ptr +
(s->cirrus_blt_dstaddr & s->cirrus_addr_mask),
s->vram_ptr +
(s->cirrus_blt_srcaddr & s->cirrus_addr_mask),
s->cirrus_blt_dstpitch, s->cirrus_blt_srcpitch,
s->cirrus_blt_width, s->cirrus_blt_height);
 
if (notify)
qemu_console_copy(s->ds,
sx, sy, dx, dy,
s->cirrus_blt_width / depth,
s->cirrus_blt_height);
 
/* we don't have to notify the display that this portion has
changed since qemu_console_copy implies this */
 
cirrus_invalidate_region(s, s->cirrus_blt_dstaddr,
s->cirrus_blt_dstpitch, s->cirrus_blt_width,
s->cirrus_blt_height);
}
 
static int cirrus_bitblt_videotovideo_copy(CirrusVGAState * s)
{
if (BLTUNSAFE(s))
return 0;
 
cirrus_do_copy(s, s->cirrus_blt_dstaddr - s->start_addr,
s->cirrus_blt_srcaddr - s->start_addr,
s->cirrus_blt_width, s->cirrus_blt_height);
 
return 1;
}
 
/***************************************
*
* bitblt (cpu-to-video)
*
***************************************/
 
static void cirrus_bitblt_cputovideo_next(CirrusVGAState * s)
{
int copy_count;
uint8_t *end_ptr;
 
if (s->cirrus_srccounter > 0) {
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_PATTERNCOPY) {
cirrus_bitblt_common_patterncopy(s, s->cirrus_bltbuf);
the_end:
s->cirrus_srccounter = 0;
cirrus_bitblt_reset(s);
} else {
/* at least one scan line */
do {
(*s->cirrus_rop)(s, s->vram_ptr +
(s->cirrus_blt_dstaddr & s->cirrus_addr_mask),
s->cirrus_bltbuf, 0, 0, s->cirrus_blt_width, 1);
cirrus_invalidate_region(s, s->cirrus_blt_dstaddr, 0,
s->cirrus_blt_width, 1);
s->cirrus_blt_dstaddr += s->cirrus_blt_dstpitch;
s->cirrus_srccounter -= s->cirrus_blt_srcpitch;
if (s->cirrus_srccounter <= 0)
goto the_end;
/* more bytes than needed can be transfered because of
word alignment, so we keep them for the next line */
/* XXX: keep alignment to speed up transfer */
end_ptr = s->cirrus_bltbuf + s->cirrus_blt_srcpitch;
copy_count = s->cirrus_srcptr_end - end_ptr;
memmove(s->cirrus_bltbuf, end_ptr, copy_count);
s->cirrus_srcptr = s->cirrus_bltbuf + copy_count;
s->cirrus_srcptr_end = s->cirrus_bltbuf + s->cirrus_blt_srcpitch;
} while (s->cirrus_srcptr >= s->cirrus_srcptr_end);
}
}
}
 
/***************************************
*
* bitblt wrapper
*
***************************************/
 
static void cirrus_bitblt_reset(CirrusVGAState * s)
{
int need_update;
 
s->gr[0x31] &=
~(CIRRUS_BLT_START | CIRRUS_BLT_BUSY | CIRRUS_BLT_FIFOUSED);
need_update = s->cirrus_srcptr != &s->cirrus_bltbuf[0]
|| s->cirrus_srcptr_end != &s->cirrus_bltbuf[0];
s->cirrus_srcptr = &s->cirrus_bltbuf[0];
s->cirrus_srcptr_end = &s->cirrus_bltbuf[0];
s->cirrus_srccounter = 0;
if (!need_update)
return;
cirrus_update_memory_access(s);
}
 
static int cirrus_bitblt_cputovideo(CirrusVGAState * s)
{
int w;
 
s->cirrus_blt_mode &= ~CIRRUS_BLTMODE_MEMSYSSRC;
s->cirrus_srcptr = &s->cirrus_bltbuf[0];
s->cirrus_srcptr_end = &s->cirrus_bltbuf[0];
 
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_PATTERNCOPY) {
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_COLOREXPAND) {
s->cirrus_blt_srcpitch = 8;
} else {
/* XXX: check for 24 bpp */
s->cirrus_blt_srcpitch = 8 * 8 * s->cirrus_blt_pixelwidth;
}
s->cirrus_srccounter = s->cirrus_blt_srcpitch;
} else {
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_COLOREXPAND) {
w = s->cirrus_blt_width / s->cirrus_blt_pixelwidth;
if (s->cirrus_blt_modeext & CIRRUS_BLTMODEEXT_DWORDGRANULARITY)
s->cirrus_blt_srcpitch = ((w + 31) >> 5);
else
s->cirrus_blt_srcpitch = ((w + 7) >> 3);
} else {
/* always align input size to 32 bits */
s->cirrus_blt_srcpitch = (s->cirrus_blt_width + 3) & ~3;
}
s->cirrus_srccounter = s->cirrus_blt_srcpitch * s->cirrus_blt_height;
}
s->cirrus_srcptr = s->cirrus_bltbuf;
s->cirrus_srcptr_end = s->cirrus_bltbuf + s->cirrus_blt_srcpitch;
cirrus_update_memory_access(s);
return 1;
}
 
static int cirrus_bitblt_videotocpu(CirrusVGAState * s)
{
/* XXX */
#ifdef DEBUG_BITBLT
printf("cirrus: bitblt (video to cpu) is not implemented yet\n");
#endif
return 0;
}
 
static int cirrus_bitblt_videotovideo(CirrusVGAState * s)
{
int ret;
 
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_PATTERNCOPY) {
ret = cirrus_bitblt_videotovideo_patterncopy(s);
} else {
ret = cirrus_bitblt_videotovideo_copy(s);
}
if (ret)
cirrus_bitblt_reset(s);
return ret;
}
 
static void cirrus_bitblt_start(CirrusVGAState * s)
{
uint8_t blt_rop;
 
s->gr[0x31] |= CIRRUS_BLT_BUSY;
 
s->cirrus_blt_width = (s->gr[0x20] | (s->gr[0x21] << 8)) + 1;
s->cirrus_blt_height = (s->gr[0x22] | (s->gr[0x23] << 8)) + 1;
s->cirrus_blt_dstpitch = (s->gr[0x24] | (s->gr[0x25] << 8));
s->cirrus_blt_srcpitch = (s->gr[0x26] | (s->gr[0x27] << 8));
s->cirrus_blt_dstaddr =
(s->gr[0x28] | (s->gr[0x29] << 8) | (s->gr[0x2a] << 16));
s->cirrus_blt_srcaddr =
(s->gr[0x2c] | (s->gr[0x2d] << 8) | (s->gr[0x2e] << 16));
s->cirrus_blt_mode = s->gr[0x30];
s->cirrus_blt_modeext = s->gr[0x33];
blt_rop = s->gr[0x32];
 
#ifdef DEBUG_BITBLT
printf("rop=0x%02x mode=0x%02x modeext=0x%02x w=%d h=%d dpitch=%d spitch=%d daddr=0x%08x saddr=0x%08x writemask=0x%02x\n",
blt_rop,
s->cirrus_blt_mode,
s->cirrus_blt_modeext,
s->cirrus_blt_width,
s->cirrus_blt_height,
s->cirrus_blt_dstpitch,
s->cirrus_blt_srcpitch,
s->cirrus_blt_dstaddr,
s->cirrus_blt_srcaddr,
s->gr[0x2f]);
#endif
 
switch (s->cirrus_blt_mode & CIRRUS_BLTMODE_PIXELWIDTHMASK) {
case CIRRUS_BLTMODE_PIXELWIDTH8:
s->cirrus_blt_pixelwidth = 1;
break;
case CIRRUS_BLTMODE_PIXELWIDTH16:
s->cirrus_blt_pixelwidth = 2;
break;
case CIRRUS_BLTMODE_PIXELWIDTH24:
s->cirrus_blt_pixelwidth = 3;
break;
case CIRRUS_BLTMODE_PIXELWIDTH32:
s->cirrus_blt_pixelwidth = 4;
break;
default:
#ifdef DEBUG_BITBLT
printf("cirrus: bitblt - pixel width is unknown\n");
#endif
goto bitblt_ignore;
}
s->cirrus_blt_mode &= ~CIRRUS_BLTMODE_PIXELWIDTHMASK;
 
if ((s->
cirrus_blt_mode & (CIRRUS_BLTMODE_MEMSYSSRC |
CIRRUS_BLTMODE_MEMSYSDEST))
== (CIRRUS_BLTMODE_MEMSYSSRC | CIRRUS_BLTMODE_MEMSYSDEST)) {
#ifdef DEBUG_BITBLT
printf("cirrus: bitblt - memory-to-memory copy is requested\n");
#endif
goto bitblt_ignore;
}
 
if ((s->cirrus_blt_modeext & CIRRUS_BLTMODEEXT_SOLIDFILL) &&
(s->cirrus_blt_mode & (CIRRUS_BLTMODE_MEMSYSDEST |
CIRRUS_BLTMODE_TRANSPARENTCOMP |
CIRRUS_BLTMODE_PATTERNCOPY |
CIRRUS_BLTMODE_COLOREXPAND)) ==
(CIRRUS_BLTMODE_PATTERNCOPY | CIRRUS_BLTMODE_COLOREXPAND)) {
cirrus_bitblt_fgcol(s);
cirrus_bitblt_solidfill(s, blt_rop);
} else {
if ((s->cirrus_blt_mode & (CIRRUS_BLTMODE_COLOREXPAND |
CIRRUS_BLTMODE_PATTERNCOPY)) ==
CIRRUS_BLTMODE_COLOREXPAND) {
 
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_TRANSPARENTCOMP) {
if (s->cirrus_blt_modeext & CIRRUS_BLTMODEEXT_COLOREXPINV)
cirrus_bitblt_bgcol(s);
else
cirrus_bitblt_fgcol(s);
s->cirrus_rop = cirrus_colorexpand_transp[rop_to_index[blt_rop]][s->cirrus_blt_pixelwidth - 1];
} else {
cirrus_bitblt_fgcol(s);
cirrus_bitblt_bgcol(s);
s->cirrus_rop = cirrus_colorexpand[rop_to_index[blt_rop]][s->cirrus_blt_pixelwidth - 1];
}
} else if (s->cirrus_blt_mode & CIRRUS_BLTMODE_PATTERNCOPY) {
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_COLOREXPAND) {
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_TRANSPARENTCOMP) {
if (s->cirrus_blt_modeext & CIRRUS_BLTMODEEXT_COLOREXPINV)
cirrus_bitblt_bgcol(s);
else
cirrus_bitblt_fgcol(s);
s->cirrus_rop = cirrus_colorexpand_pattern_transp[rop_to_index[blt_rop]][s->cirrus_blt_pixelwidth - 1];
} else {
cirrus_bitblt_fgcol(s);
cirrus_bitblt_bgcol(s);
s->cirrus_rop = cirrus_colorexpand_pattern[rop_to_index[blt_rop]][s->cirrus_blt_pixelwidth - 1];
}
} else {
s->cirrus_rop = cirrus_patternfill[rop_to_index[blt_rop]][s->cirrus_blt_pixelwidth - 1];
}
} else {
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_TRANSPARENTCOMP) {
if (s->cirrus_blt_pixelwidth > 2) {
printf("src transparent without colorexpand must be 8bpp or 16bpp\n");
goto bitblt_ignore;
}
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_BACKWARDS) {
s->cirrus_blt_dstpitch = -s->cirrus_blt_dstpitch;
s->cirrus_blt_srcpitch = -s->cirrus_blt_srcpitch;
s->cirrus_rop = cirrus_bkwd_transp_rop[rop_to_index[blt_rop]][s->cirrus_blt_pixelwidth - 1];
} else {
s->cirrus_rop = cirrus_fwd_transp_rop[rop_to_index[blt_rop]][s->cirrus_blt_pixelwidth - 1];
}
} else {
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_BACKWARDS) {
s->cirrus_blt_dstpitch = -s->cirrus_blt_dstpitch;
s->cirrus_blt_srcpitch = -s->cirrus_blt_srcpitch;
s->cirrus_rop = cirrus_bkwd_rop[rop_to_index[blt_rop]];
} else {
s->cirrus_rop = cirrus_fwd_rop[rop_to_index[blt_rop]];
}
}
}
// setup bitblt engine.
if (s->cirrus_blt_mode & CIRRUS_BLTMODE_MEMSYSSRC) {
if (!cirrus_bitblt_cputovideo(s))
goto bitblt_ignore;
} else if (s->cirrus_blt_mode & CIRRUS_BLTMODE_MEMSYSDEST) {
if (!cirrus_bitblt_videotocpu(s))
goto bitblt_ignore;
} else {
if (!cirrus_bitblt_videotovideo(s))
goto bitblt_ignore;
}
}
return;
bitblt_ignore:;
cirrus_bitblt_reset(s);
}
 
static void cirrus_write_bitblt(CirrusVGAState * s, unsigned reg_value)
{
unsigned old_value;
 
old_value = s->gr[0x31];
s->gr[0x31] = reg_value;
 
if (((old_value & CIRRUS_BLT_RESET) != 0) &&
((reg_value & CIRRUS_BLT_RESET) == 0)) {
cirrus_bitblt_reset(s);
} else if (((old_value & CIRRUS_BLT_START) == 0) &&
((reg_value & CIRRUS_BLT_START) != 0)) {
cirrus_bitblt_start(s);
}
}
 
 
/***************************************
*
* basic parameters
*
***************************************/
 
static void cirrus_get_offsets(VGAState *s1,
uint32_t_ *pline_offset,
uint32_t_ *pstart_addr,
uint32_t_ *pline_compare)
{
CirrusVGAState * s = (CirrusVGAState *)s1;
uint32_t_ start_addr, line_offset, line_compare;
 
line_offset = s->cr[0x13]
| ((s->cr[0x1b] & 0x10) << 4);
line_offset <<= 3;
*pline_offset = line_offset;
 
start_addr = (s->cr[0x0c] << 8)
| s->cr[0x0d]
| ((s->cr[0x1b] & 0x01) << 16)
| ((s->cr[0x1b] & 0x0c) << 15)
| ((s->cr[0x1d] & 0x80) << 12);
*pstart_addr = start_addr;
 
line_compare = s->cr[0x18] |
((s->cr[0x07] & 0x10) << 4) |
((s->cr[0x09] & 0x40) << 3);
*pline_compare = line_compare;
}
 
static uint32_t_ cirrus_get_bpp16_depth(CirrusVGAState * s)
{
uint32_t_ ret = 16;
 
switch (s->cirrus_hidden_dac_data & 0xf) {
case 0:
ret = 15;
break; /* Sierra HiColor */
case 1:
ret = 16;
break; /* XGA HiColor */
default:
#ifdef DEBUG_CIRRUS
printf("cirrus: invalid DAC value %x in 16bpp\n",
(s->cirrus_hidden_dac_data & 0xf));
#endif
ret = 15; /* XXX */
break;
}
return ret;
}
 
static int cirrus_get_bpp(VGAState *s1)
{
CirrusVGAState * s = (CirrusVGAState *)s1;
uint32_t_ ret = 8;
 
if ((s->sr[0x07] & 0x01) != 0) {
/* Cirrus SVGA */
switch (s->sr[0x07] & CIRRUS_SR7_BPP_MASK) {
case CIRRUS_SR7_BPP_8:
ret = 8;
break;
case CIRRUS_SR7_BPP_16_DOUBLEVCLK:
ret = cirrus_get_bpp16_depth(s);
break;
case CIRRUS_SR7_BPP_24:
ret = 24;
break;
case CIRRUS_SR7_BPP_16:
ret = cirrus_get_bpp16_depth(s);
break;
case CIRRUS_SR7_BPP_32:
ret = 32;
break;
default:
#ifdef DEBUG_CIRRUS
printf("cirrus: unknown bpp - sr7=%x\n", s->sr[0x7]);
#endif
ret = 8;
break;
}
} else {
/* VGA */
ret = 0;
}
 
return ret;
}
 
static void cirrus_get_resolution(VGAState *s, int *pwidth, int *pheight)
{
int width, height;
 
width = (s->cr[0x01] + 1) * 8;
height = s->cr[0x12] |
((s->cr[0x07] & 0x02) << 7) |
((s->cr[0x07] & 0x40) << 3);
height = (height + 1);
/* interlace support */
if (s->cr[0x1a] & 0x01)
height = height * 2;
*pwidth = width;
*pheight = height;
}
 
/***************************************
*
* bank memory
*
***************************************/
 
static void cirrus_update_bank_ptr(CirrusVGAState * s, unsigned bank_index)
{
unsigned offset;
unsigned limit;
 
if ((s->gr[0x0b] & 0x01) != 0) /* dual bank */
offset = s->gr[0x09 + bank_index];
else /* single bank */
offset = s->gr[0x09];
 
if ((s->gr[0x0b] & 0x20) != 0)
offset <<= 14;
else
offset <<= 12;
 
if ((unsigned int)s->real_vram_size <= offset)
limit = 0;
else
limit = s->real_vram_size - offset;
 
if (((s->gr[0x0b] & 0x01) == 0) && (bank_index != 0)) {
if (limit > 0x8000) {
offset += 0x8000;
limit -= 0x8000;
} else {
limit = 0;
}
}
 
if (limit > 0) {
/* Thinking about changing bank base? First, drop the dirty bitmap information
* on the current location, otherwise we lose this pointer forever */
if (s->lfb_vram_mapped) {
target_phys_addr_t base_addr = isa_mem_base + 0xa0000 + bank_index * 0x8000;
cpu_physical_sync_dirty_bitmap(base_addr, base_addr + 0x8000);
}
s->cirrus_bank_base[bank_index] = offset;
s->cirrus_bank_limit[bank_index] = limit;
} else {
s->cirrus_bank_base[bank_index] = 0;
s->cirrus_bank_limit[bank_index] = 0;
}
}
 
/***************************************
*
* I/O access between 0x3c4-0x3c5
*
***************************************/
 
static int
cirrus_hook_read_sr(CirrusVGAState * s, unsigned reg_index, int *reg_value)
{
switch (reg_index) {
case 0x00: // Standard VGA
case 0x01: // Standard VGA
case 0x02: // Standard VGA
case 0x03: // Standard VGA
case 0x04: // Standard VGA
return CIRRUS_HOOK_NOT_HANDLED;
case 0x06: // Unlock Cirrus extensions
*reg_value = s->sr[reg_index];
break;
case 0x10:
case 0x30:
case 0x50:
case 0x70: // Graphics Cursor X
case 0x90:
case 0xb0:
case 0xd0:
case 0xf0: // Graphics Cursor X
*reg_value = s->sr[0x10];
break;
case 0x11:
case 0x31:
case 0x51:
case 0x71: // Graphics Cursor Y
case 0x91:
case 0xb1:
case 0xd1:
case 0xf1: // Graphics Cursor Y
*reg_value = s->sr[0x11];
break;
case 0x05: // ???
case 0x07: // Extended Sequencer Mode
case 0x08: // EEPROM Control
case 0x09: // Scratch Register 0
case 0x0a: // Scratch Register 1
case 0x0b: // VCLK 0
case 0x0c: // VCLK 1
case 0x0d: // VCLK 2
case 0x0e: // VCLK 3
case 0x0f: // DRAM Control
case 0x12: // Graphics Cursor Attribute
case 0x13: // Graphics Cursor Pattern Address
case 0x14: // Scratch Register 2
case 0x15: // Scratch Register 3
case 0x16: // Performance Tuning Register
case 0x17: // Configuration Readback and Extended Control
case 0x18: // Signature Generator Control
case 0x19: // Signal Generator Result
case 0x1a: // Signal Generator Result
case 0x1b: // VCLK 0 Denominator & Post
case 0x1c: // VCLK 1 Denominator & Post
case 0x1d: // VCLK 2 Denominator & Post
case 0x1e: // VCLK 3 Denominator & Post
case 0x1f: // BIOS Write Enable and MCLK select
#ifdef DEBUG_CIRRUS
printf("cirrus: handled inport sr_index %02x\n", reg_index);
#endif
*reg_value = s->sr[reg_index];
break;
default:
#ifdef DEBUG_CIRRUS
printf("cirrus: inport sr_index %02x\n", reg_index);
#endif
*reg_value = 0xff;
break;
}
 
return CIRRUS_HOOK_HANDLED;
}
 
static int
cirrus_hook_write_sr(CirrusVGAState * s, unsigned reg_index, int reg_value)
{
switch (reg_index) {
case 0x00: // Standard VGA
case 0x01: // Standard VGA
case 0x02: // Standard VGA
case 0x03: // Standard VGA
case 0x04: // Standard VGA
return CIRRUS_HOOK_NOT_HANDLED;
case 0x06: // Unlock Cirrus extensions
reg_value &= 0x17;
if (reg_value == 0x12) {
s->sr[reg_index] = 0x12;
} else {
s->sr[reg_index] = 0x0f;
}
break;
case 0x10:
case 0x30:
case 0x50:
case 0x70: // Graphics Cursor X
case 0x90:
case 0xb0:
case 0xd0:
case 0xf0: // Graphics Cursor X
s->sr[0x10] = reg_value;
s->hw_cursor_x = (reg_value << 3) | (reg_index >> 5);
break;
case 0x11:
case 0x31:
case 0x51:
case 0x71: // Graphics Cursor Y
case 0x91:
case 0xb1:
case 0xd1:
case 0xf1: // Graphics Cursor Y
s->sr[0x11] = reg_value;
s->hw_cursor_y = (reg_value << 3) | (reg_index >> 5);
break;
case 0x07: // Extended Sequencer Mode
cirrus_update_memory_access(s);
case 0x08: // EEPROM Control
case 0x09: // Scratch Register 0
case 0x0a: // Scratch Register 1
case 0x0b: // VCLK 0
case 0x0c: // VCLK 1
case 0x0d: // VCLK 2
case 0x0e: // VCLK 3
case 0x0f: // DRAM Control
case 0x12: // Graphics Cursor Attribute
case 0x13: // Graphics Cursor Pattern Address
case 0x14: // Scratch Register 2
case 0x15: // Scratch Register 3
case 0x16: // Performance Tuning Register
case 0x18: // Signature Generator Control
case 0x19: // Signature Generator Result
case 0x1a: // Signature Generator Result
case 0x1b: // VCLK 0 Denominator & Post
case 0x1c: // VCLK 1 Denominator & Post
case 0x1d: // VCLK 2 Denominator & Post
case 0x1e: // VCLK 3 Denominator & Post
case 0x1f: // BIOS Write Enable and MCLK select
s->sr[reg_index] = reg_value;
#ifdef DEBUG_CIRRUS
printf("cirrus: handled outport sr_index %02x, sr_value %02x\n",
reg_index, reg_value);
#endif
break;
case 0x17: // Configuration Readback and Extended Control
s->sr[reg_index] = (s->sr[reg_index] & 0x38) | (reg_value & 0xc7);
cirrus_update_memory_access(s);
break;
default:
#ifdef DEBUG_CIRRUS
printf("cirrus: outport sr_index %02x, sr_value %02x\n", reg_index,
reg_value);
#endif
break;
}
 
return CIRRUS_HOOK_HANDLED;
}
 
/***************************************
*
* I/O access at 0x3c6
*
***************************************/
 
static void cirrus_read_hidden_dac(CirrusVGAState * s, int *reg_value)
{
*reg_value = 0xff;
if (++s->cirrus_hidden_dac_lockindex == 5) {
*reg_value = s->cirrus_hidden_dac_data;
s->cirrus_hidden_dac_lockindex = 0;
}
}
 
static void cirrus_write_hidden_dac(CirrusVGAState * s, int reg_value)
{
if (s->cirrus_hidden_dac_lockindex == 4) {
s->cirrus_hidden_dac_data = reg_value;
#if defined(DEBUG_CIRRUS)
printf("cirrus: outport hidden DAC, value %02x\n", reg_value);
#endif
}
s->cirrus_hidden_dac_lockindex = 0;
}
 
/***************************************
*
* I/O access at 0x3c9
*
***************************************/
 
static int cirrus_hook_read_palette(CirrusVGAState * s, int *reg_value)
{
if (!(s->sr[0x12] & CIRRUS_CURSOR_HIDDENPEL))
return CIRRUS_HOOK_NOT_HANDLED;
*reg_value =
s->cirrus_hidden_palette[(s->dac_read_index & 0x0f) * 3 +
s->dac_sub_index];
if (++s->dac_sub_index == 3) {
s->dac_sub_index = 0;
s->dac_read_index++;
}
return CIRRUS_HOOK_HANDLED;
}
 
static int cirrus_hook_write_palette(CirrusVGAState * s, int reg_value)
{
if (!(s->sr[0x12] & CIRRUS_CURSOR_HIDDENPEL))
return CIRRUS_HOOK_NOT_HANDLED;
s->dac_cache[s->dac_sub_index] = reg_value;
if (++s->dac_sub_index == 3) {
memcpy(&s->cirrus_hidden_palette[(s->dac_write_index & 0x0f) * 3],
s->dac_cache, 3);
/* XXX update cursor */
s->dac_sub_index = 0;
s->dac_write_index++;
}
return CIRRUS_HOOK_HANDLED;
}
 
/***************************************
*
* I/O access between 0x3ce-0x3cf
*
***************************************/
 
static int
cirrus_hook_read_gr(CirrusVGAState * s, unsigned reg_index, int *reg_value)
{
switch (reg_index) {
case 0x00: // Standard VGA, BGCOLOR 0x000000ff
*reg_value = s->cirrus_shadow_gr0;
return CIRRUS_HOOK_HANDLED;
case 0x01: // Standard VGA, FGCOLOR 0x000000ff
*reg_value = s->cirrus_shadow_gr1;
return CIRRUS_HOOK_HANDLED;
case 0x02: // Standard VGA
case 0x03: // Standard VGA
case 0x04: // Standard VGA
case 0x06: // Standard VGA
case 0x07: // Standard VGA
case 0x08: // Standard VGA
return CIRRUS_HOOK_NOT_HANDLED;
case 0x05: // Standard VGA, Cirrus extended mode
default:
break;
}
 
if (reg_index < 0x3a) {
*reg_value = s->gr[reg_index];
} else {
#ifdef DEBUG_CIRRUS
printf("cirrus: inport gr_index %02x\n", reg_index);
#endif
*reg_value = 0xff;
}
 
return CIRRUS_HOOK_HANDLED;
}
 
static int
cirrus_hook_write_gr(CirrusVGAState * s, unsigned reg_index, int reg_value)
{
#if defined(DEBUG_BITBLT) && 0
printf("gr%02x: %02x\n", reg_index, reg_value);
#endif
switch (reg_index) {
case 0x00: // Standard VGA, BGCOLOR 0x000000ff
s->cirrus_shadow_gr0 = reg_value;
return CIRRUS_HOOK_NOT_HANDLED;
case 0x01: // Standard VGA, FGCOLOR 0x000000ff
s->cirrus_shadow_gr1 = reg_value;
return CIRRUS_HOOK_NOT_HANDLED;
case 0x02: // Standard VGA
case 0x03: // Standard VGA
case 0x04: // Standard VGA
case 0x06: // Standard VGA
case 0x07: // Standard VGA
case 0x08: // Standard VGA
return CIRRUS_HOOK_NOT_HANDLED;
case 0x05: // Standard VGA, Cirrus extended mode
s->gr[reg_index] = reg_value & 0x7f;
cirrus_update_memory_access(s);
break;
case 0x09: // bank offset #0
case 0x0A: // bank offset #1
s->gr[reg_index] = reg_value;
cirrus_update_bank_ptr(s, 0);
cirrus_update_bank_ptr(s, 1);
cirrus_update_memory_access(s);
break;
case 0x0B:
s->gr[reg_index] = reg_value;
cirrus_update_bank_ptr(s, 0);
cirrus_update_bank_ptr(s, 1);
cirrus_update_memory_access(s);
break;
case 0x10: // BGCOLOR 0x0000ff00
case 0x11: // FGCOLOR 0x0000ff00
case 0x12: // BGCOLOR 0x00ff0000
case 0x13: // FGCOLOR 0x00ff0000
case 0x14: // BGCOLOR 0xff000000
case 0x15: // FGCOLOR 0xff000000
case 0x20: // BLT WIDTH 0x0000ff
case 0x22: // BLT HEIGHT 0x0000ff
case 0x24: // BLT DEST PITCH 0x0000ff
case 0x26: // BLT SRC PITCH 0x0000ff
case 0x28: // BLT DEST ADDR 0x0000ff
case 0x29: // BLT DEST ADDR 0x00ff00
case 0x2c: // BLT SRC ADDR 0x0000ff
case 0x2d: // BLT SRC ADDR 0x00ff00
case 0x2f: // BLT WRITEMASK
case 0x30: // BLT MODE
case 0x32: // RASTER OP
case 0x33: // BLT MODEEXT
case 0x34: // BLT TRANSPARENT COLOR 0x00ff
case 0x35: // BLT TRANSPARENT COLOR 0xff00
case 0x38: // BLT TRANSPARENT COLOR MASK 0x00ff
case 0x39: // BLT TRANSPARENT COLOR MASK 0xff00
s->gr[reg_index] = reg_value;
break;
case 0x21: // BLT WIDTH 0x001f00
case 0x23: // BLT HEIGHT 0x001f00
case 0x25: // BLT DEST PITCH 0x001f00
case 0x27: // BLT SRC PITCH 0x001f00
s->gr[reg_index] = reg_value & 0x1f;
break;
case 0x2a: // BLT DEST ADDR 0x3f0000
s->gr[reg_index] = reg_value & 0x3f;
/* if auto start mode, starts bit blt now */
if (s->gr[0x31] & CIRRUS_BLT_AUTOSTART) {
cirrus_bitblt_start(s);
}
break;
case 0x2e: // BLT SRC ADDR 0x3f0000
s->gr[reg_index] = reg_value & 0x3f;
break;
case 0x31: // BLT STATUS/START
cirrus_write_bitblt(s, reg_value);
break;
default:
#ifdef DEBUG_CIRRUS
printf("cirrus: outport gr_index %02x, gr_value %02x\n", reg_index,
reg_value);
#endif
break;
}
 
return CIRRUS_HOOK_HANDLED;
}
 
/***************************************
*
* I/O access between 0x3d4-0x3d5
*
***************************************/
 
static int
cirrus_hook_read_cr(CirrusVGAState * s, unsigned reg_index, int *reg_value)
{
switch (reg_index) {
case 0x00: // Standard VGA
case 0x01: // Standard VGA
case 0x02: // Standard VGA
case 0x03: // Standard VGA
case 0x04: // Standard VGA
case 0x05: // Standard VGA
case 0x06: // Standard VGA
case 0x07: // Standard VGA
case 0x08: // Standard VGA
case 0x09: // Standard VGA
case 0x0a: // Standard VGA
case 0x0b: // Standard VGA
case 0x0c: // Standard VGA
case 0x0d: // Standard VGA
case 0x0e: // Standard VGA
case 0x0f: // Standard VGA
case 0x10: // Standard VGA
case 0x11: // Standard VGA
case 0x12: // Standard VGA
case 0x13: // Standard VGA
case 0x14: // Standard VGA
case 0x15: // Standard VGA
case 0x16: // Standard VGA
case 0x17: // Standard VGA
case 0x18: // Standard VGA
return CIRRUS_HOOK_NOT_HANDLED;
case 0x24: // Attribute Controller Toggle Readback (R)
*reg_value = (s->ar_flip_flop << 7);
break;
case 0x19: // Interlace End
case 0x1a: // Miscellaneous Control
case 0x1b: // Extended Display Control
case 0x1c: // Sync Adjust and Genlock
case 0x1d: // Overlay Extended Control
case 0x22: // Graphics Data Latches Readback (R)
case 0x25: // Part Status
case 0x27: // Part ID (R)
*reg_value = s->cr[reg_index];
break;
case 0x26: // Attribute Controller Index Readback (R)
*reg_value = s->ar_index & 0x3f;
break;
default:
#ifdef DEBUG_CIRRUS
printf("cirrus: inport cr_index %02x\n", reg_index);
*reg_value = 0xff;
#endif
break;
}
 
return CIRRUS_HOOK_HANDLED;
}
 
static int
cirrus_hook_write_cr(CirrusVGAState * s, unsigned reg_index, int reg_value)
{
switch (reg_index) {
case 0x00: // Standard VGA
case 0x01: // Standard VGA
case 0x02: // Standard VGA
case 0x03: // Standard VGA
case 0x04: // Standard VGA
case 0x05: // Standard VGA
case 0x06: // Standard VGA
case 0x07: // Standard VGA
case 0x08: // Standard VGA
case 0x09: // Standard VGA
case 0x0a: // Standard VGA
case 0x0b: // Standard VGA
case 0x0c: // Standard VGA
case 0x0d: // Standard VGA
case 0x0e: // Standard VGA
case 0x0f: // Standard VGA
case 0x10: // Standard VGA
case 0x11: // Standard VGA
case 0x12: // Standard VGA
case 0x13: // Standard VGA
case 0x14: // Standard VGA
case 0x15: // Standard VGA
case 0x16: // Standard VGA
case 0x17: // Standard VGA
case 0x18: // Standard VGA
return CIRRUS_HOOK_NOT_HANDLED;
case 0x19: // Interlace End
case 0x1a: // Miscellaneous Control
case 0x1b: // Extended Display Control
case 0x1c: // Sync Adjust and Genlock
case 0x1d: // Overlay Extended Control
s->cr[reg_index] = reg_value;
#ifdef DEBUG_CIRRUS
printf("cirrus: handled outport cr_index %02x, cr_value %02x\n",
reg_index, reg_value);
#endif
break;
case 0x22: // Graphics Data Latches Readback (R)
case 0x24: // Attribute Controller Toggle Readback (R)
case 0x26: // Attribute Controller Index Readback (R)
case 0x27: // Part ID (R)
break;
case 0x25: // Part Status
default:
#ifdef DEBUG_CIRRUS
printf("cirrus: outport cr_index %02x, cr_value %02x\n", reg_index,
reg_value);
#endif
break;
}
 
return CIRRUS_HOOK_HANDLED;
}
 
/***************************************
*
* memory-mapped I/O (bitblt)
*
***************************************/
 
static uint8_t cirrus_mmio_blt_read(CirrusVGAState * s, unsigned address)
{
int value = 0xff;
 
switch (address) {
case (CIRRUS_MMIO_BLTBGCOLOR + 0):
cirrus_hook_read_gr(s, 0x00, &value);
break;
case (CIRRUS_MMIO_BLTBGCOLOR + 1):
cirrus_hook_read_gr(s, 0x10, &value);
break;
case (CIRRUS_MMIO_BLTBGCOLOR + 2):
cirrus_hook_read_gr(s, 0x12, &value);
break;
case (CIRRUS_MMIO_BLTBGCOLOR + 3):
cirrus_hook_read_gr(s, 0x14, &value);
break;
case (CIRRUS_MMIO_BLTFGCOLOR + 0):
cirrus_hook_read_gr(s, 0x01, &value);
break;
case (CIRRUS_MMIO_BLTFGCOLOR + 1):
cirrus_hook_read_gr(s, 0x11, &value);
break;
case (CIRRUS_MMIO_BLTFGCOLOR + 2):
cirrus_hook_read_gr(s, 0x13, &value);
break;
case (CIRRUS_MMIO_BLTFGCOLOR + 3):
cirrus_hook_read_gr(s, 0x15, &value);
break;
case (CIRRUS_MMIO_BLTWIDTH + 0):
cirrus_hook_read_gr(s, 0x20, &value);
break;
case (CIRRUS_MMIO_BLTWIDTH + 1):
cirrus_hook_read_gr(s, 0x21, &value);
break;
case (CIRRUS_MMIO_BLTHEIGHT + 0):
cirrus_hook_read_gr(s, 0x22, &value);
break;
case (CIRRUS_MMIO_BLTHEIGHT + 1):
cirrus_hook_read_gr(s, 0x23, &value);
break;
case (CIRRUS_MMIO_BLTDESTPITCH + 0):
cirrus_hook_read_gr(s, 0x24, &value);
break;
case (CIRRUS_MMIO_BLTDESTPITCH + 1):
cirrus_hook_read_gr(s, 0x25, &value);
break;
case (CIRRUS_MMIO_BLTSRCPITCH + 0):
cirrus_hook_read_gr(s, 0x26, &value);
break;
case (CIRRUS_MMIO_BLTSRCPITCH + 1):
cirrus_hook_read_gr(s, 0x27, &value);
break;
case (CIRRUS_MMIO_BLTDESTADDR + 0):
cirrus_hook_read_gr(s, 0x28, &value);
break;
case (CIRRUS_MMIO_BLTDESTADDR + 1):
cirrus_hook_read_gr(s, 0x29, &value);
break;
case (CIRRUS_MMIO_BLTDESTADDR + 2):
cirrus_hook_read_gr(s, 0x2a, &value);
break;
case (CIRRUS_MMIO_BLTSRCADDR + 0):
cirrus_hook_read_gr(s, 0x2c, &value);
break;
case (CIRRUS_MMIO_BLTSRCADDR + 1):
cirrus_hook_read_gr(s, 0x2d, &value);
break;
case (CIRRUS_MMIO_BLTSRCADDR + 2):
cirrus_hook_read_gr(s, 0x2e, &value);
break;
case CIRRUS_MMIO_BLTWRITEMASK:
cirrus_hook_read_gr(s, 0x2f, &value);
break;
case CIRRUS_MMIO_BLTMODE:
cirrus_hook_read_gr(s, 0x30, &value);
break;
case CIRRUS_MMIO_BLTROP:
cirrus_hook_read_gr(s, 0x32, &value);
break;
case CIRRUS_MMIO_BLTMODEEXT:
cirrus_hook_read_gr(s, 0x33, &value);
break;
case (CIRRUS_MMIO_BLTTRANSPARENTCOLOR + 0):
cirrus_hook_read_gr(s, 0x34, &value);
break;
case (CIRRUS_MMIO_BLTTRANSPARENTCOLOR + 1):
cirrus_hook_read_gr(s, 0x35, &value);
break;
case (CIRRUS_MMIO_BLTTRANSPARENTCOLORMASK + 0):
cirrus_hook_read_gr(s, 0x38, &value);
break;
case (CIRRUS_MMIO_BLTTRANSPARENTCOLORMASK + 1):
cirrus_hook_read_gr(s, 0x39, &value);
break;
case CIRRUS_MMIO_BLTSTATUS:
cirrus_hook_read_gr(s, 0x31, &value);
break;
default:
#ifdef DEBUG_CIRRUS
printf("cirrus: mmio read - address 0x%04x\n", address);
#endif
break;
}
 
return (uint8_t) value;
}
 
static void cirrus_mmio_blt_write(CirrusVGAState * s, unsigned address,
uint8_t value)
{
switch (address) {
case (CIRRUS_MMIO_BLTBGCOLOR + 0):
cirrus_hook_write_gr(s, 0x00, value);
break;
case (CIRRUS_MMIO_BLTBGCOLOR + 1):
cirrus_hook_write_gr(s, 0x10, value);
break;
case (CIRRUS_MMIO_BLTBGCOLOR + 2):
cirrus_hook_write_gr(s, 0x12, value);
break;
case (CIRRUS_MMIO_BLTBGCOLOR + 3):
cirrus_hook_write_gr(s, 0x14, value);
break;
case (CIRRUS_MMIO_BLTFGCOLOR + 0):
cirrus_hook_write_gr(s, 0x01, value);
break;
case (CIRRUS_MMIO_BLTFGCOLOR + 1):
cirrus_hook_write_gr(s, 0x11, value);
break;
case (CIRRUS_MMIO_BLTFGCOLOR + 2):
cirrus_hook_write_gr(s, 0x13, value);
break;
case (CIRRUS_MMIO_BLTFGCOLOR + 3):
cirrus_hook_write_gr(s, 0x15, value);
break;
case (CIRRUS_MMIO_BLTWIDTH + 0):
cirrus_hook_write_gr(s, 0x20, value);
break;
case (CIRRUS_MMIO_BLTWIDTH + 1):
cirrus_hook_write_gr(s, 0x21, value);
break;
case (CIRRUS_MMIO_BLTHEIGHT + 0):
cirrus_hook_write_gr(s, 0x22, value);
break;
case (CIRRUS_MMIO_BLTHEIGHT + 1):
cirrus_hook_write_gr(s, 0x23, value);
break;
case (CIRRUS_MMIO_BLTDESTPITCH + 0):
cirrus_hook_write_gr(s, 0x24, value);
break;
case (CIRRUS_MMIO_BLTDESTPITCH + 1):
cirrus_hook_write_gr(s, 0x25, value);
break;
case (CIRRUS_MMIO_BLTSRCPITCH + 0):
cirrus_hook_write_gr(s, 0x26, value);
break;
case (CIRRUS_MMIO_BLTSRCPITCH + 1):
cirrus_hook_write_gr(s, 0x27, value);
break;
case (CIRRUS_MMIO_BLTDESTADDR + 0):
cirrus_hook_write_gr(s, 0x28, value);
break;
case (CIRRUS_MMIO_BLTDESTADDR + 1):
cirrus_hook_write_gr(s, 0x29, value);
break;
case (CIRRUS_MMIO_BLTDESTADDR + 2):
cirrus_hook_write_gr(s, 0x2a, value);
break;
case (CIRRUS_MMIO_BLTDESTADDR + 3):
/* ignored */
break;
case (CIRRUS_MMIO_BLTSRCADDR + 0):
cirrus_hook_write_gr(s, 0x2c, value);
break;
case (CIRRUS_MMIO_BLTSRCADDR + 1):
cirrus_hook_write_gr(s, 0x2d, value);
break;
case (CIRRUS_MMIO_BLTSRCADDR + 2):
cirrus_hook_write_gr(s, 0x2e, value);
break;
case CIRRUS_MMIO_BLTWRITEMASK:
cirrus_hook_write_gr(s, 0x2f, value);
break;
case CIRRUS_MMIO_BLTMODE:
cirrus_hook_write_gr(s, 0x30, value);
break;
case CIRRUS_MMIO_BLTROP:
cirrus_hook_write_gr(s, 0x32, value);
break;
case CIRRUS_MMIO_BLTMODEEXT:
cirrus_hook_write_gr(s, 0x33, value);
break;
case (CIRRUS_MMIO_BLTTRANSPARENTCOLOR + 0):
cirrus_hook_write_gr(s, 0x34, value);
break;
case (CIRRUS_MMIO_BLTTRANSPARENTCOLOR + 1):
cirrus_hook_write_gr(s, 0x35, value);
break;
case (CIRRUS_MMIO_BLTTRANSPARENTCOLORMASK + 0):
cirrus_hook_write_gr(s, 0x38, value);
break;
case (CIRRUS_MMIO_BLTTRANSPARENTCOLORMASK + 1):
cirrus_hook_write_gr(s, 0x39, value);
break;
case CIRRUS_MMIO_BLTSTATUS:
cirrus_hook_write_gr(s, 0x31, value);
break;
default:
#ifdef DEBUG_CIRRUS
printf("cirrus: mmio write - addr 0x%04x val 0x%02x (ignored)\n",
address, value);
#endif
break;
}
}
 
/***************************************
*
* write mode 4/5
*
* assume TARGET_PAGE_SIZE >= 16
*
***************************************/
 
static void cirrus_mem_writeb_mode4and5_8bpp(CirrusVGAState * s,
unsigned mode,
unsigned offset,
uint32_t_ mem_value)
{
int x;
unsigned val = mem_value;
uint8_t *dst;
 
dst = s->vram_ptr + (offset &= s->cirrus_addr_mask);
for (x = 0; x < 8; x++) {
if (val & 0x80) {
*dst = s->cirrus_shadow_gr1;
} else if (mode == 5) {
*dst = s->cirrus_shadow_gr0;
}
val <<= 1;
dst++;
}
cpu_physical_memory_set_dirty(s->vram_offset + offset);
cpu_physical_memory_set_dirty(s->vram_offset + offset + 7);
}
 
static void cirrus_mem_writeb_mode4and5_16bpp(CirrusVGAState * s,
unsigned mode,
unsigned offset,
uint32_t_ mem_value)
{
int x;
unsigned val = mem_value;
uint8_t *dst;
 
dst = s->vram_ptr + (offset &= s->cirrus_addr_mask);
for (x = 0; x < 8; x++) {
if (val & 0x80) {
*dst = s->cirrus_shadow_gr1;
*(dst + 1) = s->gr[0x11];
} else if (mode == 5) {
*dst = s->cirrus_shadow_gr0;
*(dst + 1) = s->gr[0x10];
}
val <<= 1;
dst += 2;
}
cpu_physical_memory_set_dirty(s->vram_offset + offset);
cpu_physical_memory_set_dirty(s->vram_offset + offset + 15);
}
 
/***************************************
*
* memory access between 0xa0000-0xbffff
*
***************************************/
 
uint32_t_ cirrus_vga_mem_readb(void *opaque, target_phys_addr_t addr)
{
CirrusVGAState *s = opaque;
unsigned bank_index;
unsigned bank_offset;
uint32_t_ val;
 
if ((s->sr[0x07] & 0x01) == 0) {
return vga_mem_readb(s, addr);
}
 
addr &= 0x1ffff;
 
if (addr < 0x10000) {
/* XXX handle bitblt */
/* video memory */
bank_index = addr >> 15;
bank_offset = addr & 0x7fff;
if (bank_offset < s->cirrus_bank_limit[bank_index]) {
bank_offset += s->cirrus_bank_base[bank_index];
if ((s->gr[0x0B] & 0x14) == 0x14) {
bank_offset <<= 4;
} else if (s->gr[0x0B] & 0x02) {
bank_offset <<= 3;
}
bank_offset &= s->cirrus_addr_mask;
val = *(s->vram_ptr + bank_offset);
} else
val = 0xff;
} else if (addr >= 0x18000 && addr < 0x18100) {
/* memory-mapped I/O */
val = 0xff;
if ((s->sr[0x17] & 0x44) == 0x04) {
val = cirrus_mmio_blt_read(s, addr & 0xff);
}
} else {
val = 0xff;
#ifdef DEBUG_CIRRUS
printf("cirrus: mem_readb %06x\n", addr);
#endif
}
return val;
}
 
uint32_t_ cirrus_vga_mem_readw(void *opaque, target_phys_addr_t addr)
{
uint32_t_ v;
#ifdef TARGET_WORDS_BIGENDIAN
v = cirrus_vga_mem_readb(opaque, addr) << 8;
v |= cirrus_vga_mem_readb(opaque, addr + 1);
#else
v = cirrus_vga_mem_readb(opaque, addr);
v |= cirrus_vga_mem_readb(opaque, addr + 1) << 8;
#endif
return v;
}
 
uint32_t_ cirrus_vga_mem_readl(void *opaque, target_phys_addr_t addr)
{
uint32_t_ v;
#ifdef TARGET_WORDS_BIGENDIAN
v = cirrus_vga_mem_readb(opaque, addr) << 24;
v |= cirrus_vga_mem_readb(opaque, addr + 1) << 16;
v |= cirrus_vga_mem_readb(opaque, addr + 2) << 8;
v |= cirrus_vga_mem_readb(opaque, addr + 3);
#else
v = cirrus_vga_mem_readb(opaque, addr);
v |= cirrus_vga_mem_readb(opaque, addr + 1) << 8;
v |= cirrus_vga_mem_readb(opaque, addr + 2) << 16;
v |= cirrus_vga_mem_readb(opaque, addr + 3) << 24;
#endif
return v;
}
 
void cirrus_vga_mem_writeb(void *opaque, target_phys_addr_t addr,
uint32_t_ mem_value)
{
CirrusVGAState *s = opaque;
unsigned bank_index;
unsigned bank_offset;
unsigned mode;
 
if ((s->sr[0x07] & 0x01) == 0) {
vga_mem_writeb(s, addr, mem_value);
return;
}
 
addr &= 0x1ffff;
 
if (addr < 0x10000) {
if (s->cirrus_srcptr != s->cirrus_srcptr_end) {
/* bitblt */
*s->cirrus_srcptr++ = (uint8_t) mem_value;
if (s->cirrus_srcptr >= s->cirrus_srcptr_end) {
cirrus_bitblt_cputovideo_next(s);
}
} else {
/* video memory */
bank_index = addr >> 15;
bank_offset = addr & 0x7fff;
if (bank_offset < s->cirrus_bank_limit[bank_index]) {
bank_offset += s->cirrus_bank_base[bank_index];
if ((s->gr[0x0B] & 0x14) == 0x14) {
bank_offset <<= 4;
} else if (s->gr[0x0B] & 0x02) {
bank_offset <<= 3;
}
bank_offset &= s->cirrus_addr_mask;
mode = s->gr[0x05] & 0x7;
if (mode < 4 || mode > 5 || ((s->gr[0x0B] & 0x4) == 0)) {
*(s->vram_ptr + bank_offset) = mem_value;
cpu_physical_memory_set_dirty(s->vram_offset +
bank_offset);
} else {
if ((s->gr[0x0B] & 0x14) != 0x14) {
cirrus_mem_writeb_mode4and5_8bpp(s, mode,
bank_offset,
mem_value);
} else {
cirrus_mem_writeb_mode4and5_16bpp(s, mode,
bank_offset,
mem_value);
}
}
}
}
} else if (addr >= 0x18000 && addr < 0x18100) {
/* memory-mapped I/O */
if ((s->sr[0x17] & 0x44) == 0x04) {
cirrus_mmio_blt_write(s, addr & 0xff, mem_value);
}
} else {
#ifdef DEBUG_CIRRUS
printf("cirrus: mem_writeb %06x value %02x\n", addr, mem_value);
#endif
}
}
 
void cirrus_vga_mem_writew(void *opaque, target_phys_addr_t addr, uint32_t_ val)
{
#ifdef TARGET_WORDS_BIGENDIAN
cirrus_vga_mem_writeb(opaque, addr, (val >> 8) & 0xff);
cirrus_vga_mem_writeb(opaque, addr + 1, val & 0xff);
#else
cirrus_vga_mem_writeb(opaque, addr, val & 0xff);
cirrus_vga_mem_writeb(opaque, addr + 1, (val >> 8) & 0xff);
#endif
}
 
void cirrus_vga_mem_writel(void *opaque, target_phys_addr_t addr, uint32_t_ val)
{
#ifdef TARGET_WORDS_BIGENDIAN
cirrus_vga_mem_writeb(opaque, addr, (val >> 24) & 0xff);
cirrus_vga_mem_writeb(opaque, addr + 1, (val >> 16) & 0xff);
cirrus_vga_mem_writeb(opaque, addr + 2, (val >> 8) & 0xff);
cirrus_vga_mem_writeb(opaque, addr + 3, val & 0xff);
#else
cirrus_vga_mem_writeb(opaque, addr, val & 0xff);
cirrus_vga_mem_writeb(opaque, addr + 1, (val >> 8) & 0xff);
cirrus_vga_mem_writeb(opaque, addr + 2, (val >> 16) & 0xff);
cirrus_vga_mem_writeb(opaque, addr + 3, (val >> 24) & 0xff);
#endif
}
 
static CPUReadMemoryFunc *cirrus_vga_mem_read[3] = {
cirrus_vga_mem_readb,
cirrus_vga_mem_readw,
cirrus_vga_mem_readl,
};
 
static CPUWriteMemoryFunc *cirrus_vga_mem_write[3] = {
cirrus_vga_mem_writeb,
cirrus_vga_mem_writew,
cirrus_vga_mem_writel,
};
 
/***************************************
*
* hardware cursor
*
***************************************/
 
static void invalidate_cursor1(CirrusVGAState *s)
{
if (s->last_hw_cursor_size) {
vga_invalidate_scanlines((VGAState *)s,
s->last_hw_cursor_y + s->last_hw_cursor_y_start,
s->last_hw_cursor_y + s->last_hw_cursor_y_end);
}
}
 
static void cirrus_cursor_compute_yrange(CirrusVGAState *s)
{
const uint8_t *src;
uint32_t_ content;
int y, y_min, y_max;
 
src = s->vram_ptr + s->real_vram_size - 16 * 1024;
if (s->sr[0x12] & CIRRUS_CURSOR_LARGE) {
src += (s->sr[0x13] & 0x3c) * 256;
y_min = 64;
y_max = -1;
for(y = 0; y < 64; y++) {
content = ((uint32_t_ *)src)[0] |
((uint32_t_ *)src)[1] |
((uint32_t_ *)src)[2] |
((uint32_t_ *)src)[3];
if (content) {
if (y < y_min)
y_min = y;
if (y > y_max)
y_max = y;
}
src += 16;
}
} else {
src += (s->sr[0x13] & 0x3f) * 256;
y_min = 32;
y_max = -1;
for(y = 0; y < 32; y++) {
content = ((uint32_t_ *)src)[0] |
((uint32_t_ *)(src + 128))[0];
if (content) {
if (y < y_min)
y_min = y;
if (y > y_max)
y_max = y;
}
src += 4;
}
}
if (y_min > y_max) {
s->last_hw_cursor_y_start = 0;
s->last_hw_cursor_y_end = 0;
} else {
s->last_hw_cursor_y_start = y_min;
s->last_hw_cursor_y_end = y_max + 1;
}
}
 
/* NOTE: we do not currently handle the cursor bitmap change, so we
update the cursor only if it moves. */
static void cirrus_cursor_invalidate(VGAState *s1)
{
CirrusVGAState *s = (CirrusVGAState *)s1;
int size;
 
if (!s->sr[0x12] & CIRRUS_CURSOR_SHOW) {
size = 0;
} else {
if (s->sr[0x12] & CIRRUS_CURSOR_LARGE)
size = 64;
else
size = 32;
}
/* invalidate last cursor and new cursor if any change */
if (s->last_hw_cursor_size != size ||
s->last_hw_cursor_x != s->hw_cursor_x ||
s->last_hw_cursor_y != s->hw_cursor_y) {
 
invalidate_cursor1(s);
 
s->last_hw_cursor_size = size;
s->last_hw_cursor_x = s->hw_cursor_x;
s->last_hw_cursor_y = s->hw_cursor_y;
/* compute the real cursor min and max y */
cirrus_cursor_compute_yrange(s);
invalidate_cursor1(s);
}
}
 
static void cirrus_cursor_draw_line(VGAState *s1, uint8_t *d1, int scr_y)
{
CirrusVGAState *s = (CirrusVGAState *)s1;
int w, h, bpp, x1, x2, poffset;
unsigned int color0, color1;
const uint8_t *palette, *src;
uint32_t_ content;
 
if (!(s->sr[0x12] & CIRRUS_CURSOR_SHOW))
return;
/* fast test to see if the cursor intersects with the scan line */
if (s->sr[0x12] & CIRRUS_CURSOR_LARGE) {
h = 64;
} else {
h = 32;
}
if ((uint32_t_)scr_y < s->hw_cursor_y ||
(uint32_t_)scr_y >= (s->hw_cursor_y + h))
return;
 
src = s->vram_ptr + s->real_vram_size - 16 * 1024;
if (s->sr[0x12] & CIRRUS_CURSOR_LARGE) {
src += (s->sr[0x13] & 0x3c) * 256;
src += (scr_y - s->hw_cursor_y) * 16;
poffset = 8;
content = ((uint32_t_ *)src)[0] |
((uint32_t_ *)src)[1] |
((uint32_t_ *)src)[2] |
((uint32_t_ *)src)[3];
} else {
src += (s->sr[0x13] & 0x3f) * 256;
src += (scr_y - s->hw_cursor_y) * 4;
poffset = 128;
content = ((uint32_t_ *)src)[0] |
((uint32_t_ *)(src + 128))[0];
}
/* if nothing to draw, no need to continue */
if (!content)
return;
w = h;
 
x1 = s->hw_cursor_x;
if ((uint32_t_)x1 >= s->last_scr_width)
return;
x2 = s->hw_cursor_x + w;
if ((uint32_t_)x2 > s->last_scr_width)
x2 = s->last_scr_width;
w = x2 - x1;
palette = s->cirrus_hidden_palette;
color0 = s->rgb_to_pixel(c6_to_8(palette[0x0 * 3]),
c6_to_8(palette[0x0 * 3 + 1]),
c6_to_8(palette[0x0 * 3 + 2]));
color1 = s->rgb_to_pixel(c6_to_8(palette[0xf * 3]),
c6_to_8(palette[0xf * 3 + 1]),
c6_to_8(palette[0xf * 3 + 2]));
bpp = ((ds_get_bits_per_pixel(s->ds) + 7) >> 3);
d1 += x1 * bpp;
switch(ds_get_bits_per_pixel(s->ds)) {
default:
break;
case 8:
vga_draw_cursor_line_8(d1, src, poffset, w, color0, color1, 0xff);
break;
case 15:
vga_draw_cursor_line_16(d1, src, poffset, w, color0, color1, 0x7fff);
break;
case 16:
vga_draw_cursor_line_16(d1, src, poffset, w, color0, color1, 0xffff);
break;
case 32:
vga_draw_cursor_line_32(d1, src, poffset, w, color0, color1, 0xffffff);
break;
}
}
 
/***************************************
*
* LFB memory access
*
***************************************/
 
uint32_t_ cirrus_linear_readb(void *opaque, target_phys_addr_t addr)
{
CirrusVGAState *s = (CirrusVGAState *) opaque;
uint32_t_ ret;
 
addr &= s->cirrus_addr_mask;
 
if (((s->sr[0x17] & 0x44) == 0x44) &&
((addr & s->linear_mmio_mask) == s->linear_mmio_mask)) {
/* memory-mapped I/O */
ret = cirrus_mmio_blt_read(s, addr & 0xff);
} else if (0) {
/* XXX handle bitblt */
ret = 0xff;
} else {
/* video memory */
if ((s->gr[0x0B] & 0x14) == 0x14) {
addr <<= 4;
} else if (s->gr[0x0B] & 0x02) {
addr <<= 3;
}
addr &= s->cirrus_addr_mask;
ret = *(s->vram_ptr + addr);
}
 
return ret;
}
 
uint32_t_ cirrus_linear_readw(void *opaque, target_phys_addr_t addr)
{
uint32_t_ v;
#ifdef TARGET_WORDS_BIGENDIAN
v = cirrus_linear_readb(opaque, addr) << 8;
v |= cirrus_linear_readb(opaque, addr + 1);
#else
v = cirrus_linear_readb(opaque, addr);
v |= cirrus_linear_readb(opaque, addr + 1) << 8;
#endif
return v;
}
 
uint32_t_ cirrus_linear_readl(void *opaque, target_phys_addr_t addr)
{
uint32_t_ v;
#ifdef TARGET_WORDS_BIGENDIAN
v = cirrus_linear_readb(opaque, addr) << 24;
v |= cirrus_linear_readb(opaque, addr + 1) << 16;
v |= cirrus_linear_readb(opaque, addr + 2) << 8;
v |= cirrus_linear_readb(opaque, addr + 3);
#else
v = cirrus_linear_readb(opaque, addr);
v |= cirrus_linear_readb(opaque, addr + 1) << 8;
v |= cirrus_linear_readb(opaque, addr + 2) << 16;
v |= cirrus_linear_readb(opaque, addr + 3) << 24;
#endif
return v;
}
 
void cirrus_linear_writeb(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
CirrusVGAState *s = (CirrusVGAState *) opaque;
unsigned mode;
 
addr &= s->cirrus_addr_mask;
 
if (((s->sr[0x17] & 0x44) == 0x44) &&
((addr & s->linear_mmio_mask) == s->linear_mmio_mask)) {
/* memory-mapped I/O */
cirrus_mmio_blt_write(s, addr & 0xff, val);
} else if (s->cirrus_srcptr != s->cirrus_srcptr_end) {
/* bitblt */
*s->cirrus_srcptr++ = (uint8_t) val;
if (s->cirrus_srcptr >= s->cirrus_srcptr_end) {
cirrus_bitblt_cputovideo_next(s);
}
} else {
/* video memory */
if ((s->gr[0x0B] & 0x14) == 0x14) {
addr <<= 4;
} else if (s->gr[0x0B] & 0x02) {
addr <<= 3;
}
addr &= s->cirrus_addr_mask;
 
mode = s->gr[0x05] & 0x7;
if (mode < 4 || mode > 5 || ((s->gr[0x0B] & 0x4) == 0)) {
*(s->vram_ptr + addr) = (uint8_t) val;
cpu_physical_memory_set_dirty(s->vram_offset + addr);
} else {
if ((s->gr[0x0B] & 0x14) != 0x14) {
cirrus_mem_writeb_mode4and5_8bpp(s, mode, addr, val);
} else {
cirrus_mem_writeb_mode4and5_16bpp(s, mode, addr, val);
}
}
}
}
 
void cirrus_linear_writew(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
#ifdef TARGET_WORDS_BIGENDIAN
cirrus_linear_writeb(opaque, addr, (val >> 8) & 0xff);
cirrus_linear_writeb(opaque, addr + 1, val & 0xff);
#else
cirrus_linear_writeb(opaque, addr, val & 0xff);
cirrus_linear_writeb(opaque, addr + 1, (val >> 8) & 0xff);
#endif
}
 
void cirrus_linear_writel(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
#ifdef TARGET_WORDS_BIGENDIAN
cirrus_linear_writeb(opaque, addr, (val >> 24) & 0xff);
cirrus_linear_writeb(opaque, addr + 1, (val >> 16) & 0xff);
cirrus_linear_writeb(opaque, addr + 2, (val >> 8) & 0xff);
cirrus_linear_writeb(opaque, addr + 3, val & 0xff);
#else
cirrus_linear_writeb(opaque, addr, val & 0xff);
cirrus_linear_writeb(opaque, addr + 1, (val >> 8) & 0xff);
cirrus_linear_writeb(opaque, addr + 2, (val >> 16) & 0xff);
cirrus_linear_writeb(opaque, addr + 3, (val >> 24) & 0xff);
#endif
}
 
 
static CPUReadMemoryFunc *cirrus_linear_read[3] = {
cirrus_linear_readb,
cirrus_linear_readw,
cirrus_linear_readl,
};
 
static CPUWriteMemoryFunc *cirrus_linear_write[3] = {
cirrus_linear_writeb,
cirrus_linear_writew,
cirrus_linear_writel,
};
 
static void cirrus_linear_mem_writeb(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
CirrusVGAState *s = (CirrusVGAState *) opaque;
 
addr &= s->cirrus_addr_mask;
*(s->vram_ptr + addr) = val;
cpu_physical_memory_set_dirty(s->vram_offset + addr);
}
 
static void cirrus_linear_mem_writew(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
CirrusVGAState *s = (CirrusVGAState *) opaque;
 
addr &= s->cirrus_addr_mask;
cpu_to_le16w((uint16_t_ *)(s->vram_ptr + addr), val);
cpu_physical_memory_set_dirty(s->vram_offset + addr);
}
 
static void cirrus_linear_mem_writel(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
CirrusVGAState *s = (CirrusVGAState *) opaque;
 
addr &= s->cirrus_addr_mask;
cpu_to_le32w((uint32_t_ *)(s->vram_ptr + addr), val);
cpu_physical_memory_set_dirty(s->vram_offset + addr);
}
 
/***************************************
*
* system to screen memory access
*
***************************************/
 
 
uint32_t_ cirrus_linear_bitblt_readb(void *opaque, target_phys_addr_t addr)
{
uint32_t_ ret;
 
/* XXX handle bitblt */
ret = 0xff;
return ret;
}
 
uint32_t_ cirrus_linear_bitblt_readw(void *opaque, target_phys_addr_t addr)
{
uint32_t_ v;
#ifdef TARGET_WORDS_BIGENDIAN
v = cirrus_linear_bitblt_readb(opaque, addr) << 8;
v |= cirrus_linear_bitblt_readb(opaque, addr + 1);
#else
v = cirrus_linear_bitblt_readb(opaque, addr);
v |= cirrus_linear_bitblt_readb(opaque, addr + 1) << 8;
#endif
return v;
}
 
uint32_t_ cirrus_linear_bitblt_readl(void *opaque, target_phys_addr_t addr)
{
uint32_t_ v;
#ifdef TARGET_WORDS_BIGENDIAN
v = cirrus_linear_bitblt_readb(opaque, addr) << 24;
v |= cirrus_linear_bitblt_readb(opaque, addr + 1) << 16;
v |= cirrus_linear_bitblt_readb(opaque, addr + 2) << 8;
v |= cirrus_linear_bitblt_readb(opaque, addr + 3);
#else
v = cirrus_linear_bitblt_readb(opaque, addr);
v |= cirrus_linear_bitblt_readb(opaque, addr + 1) << 8;
v |= cirrus_linear_bitblt_readb(opaque, addr + 2) << 16;
v |= cirrus_linear_bitblt_readb(opaque, addr + 3) << 24;
#endif
return v;
}
 
void cirrus_linear_bitblt_writeb(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
CirrusVGAState *s = (CirrusVGAState *) opaque;
 
if (s->cirrus_srcptr != s->cirrus_srcptr_end) {
/* bitblt */
*s->cirrus_srcptr++ = (uint8_t) val;
if (s->cirrus_srcptr >= s->cirrus_srcptr_end) {
cirrus_bitblt_cputovideo_next(s);
}
}
}
 
void cirrus_linear_bitblt_writew(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
#ifdef TARGET_WORDS_BIGENDIAN
cirrus_linear_bitblt_writeb(opaque, addr, (val >> 8) & 0xff);
cirrus_linear_bitblt_writeb(opaque, addr + 1, val & 0xff);
#else
cirrus_linear_bitblt_writeb(opaque, addr, val & 0xff);
cirrus_linear_bitblt_writeb(opaque, addr + 1, (val >> 8) & 0xff);
#endif
}
 
void cirrus_linear_bitblt_writel(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
#ifdef TARGET_WORDS_BIGENDIAN
cirrus_linear_bitblt_writeb(opaque, addr, (val >> 24) & 0xff);
cirrus_linear_bitblt_writeb(opaque, addr + 1, (val >> 16) & 0xff);
cirrus_linear_bitblt_writeb(opaque, addr + 2, (val >> 8) & 0xff);
cirrus_linear_bitblt_writeb(opaque, addr + 3, val & 0xff);
#else
cirrus_linear_bitblt_writeb(opaque, addr, val & 0xff);
cirrus_linear_bitblt_writeb(opaque, addr + 1, (val >> 8) & 0xff);
cirrus_linear_bitblt_writeb(opaque, addr + 2, (val >> 16) & 0xff);
cirrus_linear_bitblt_writeb(opaque, addr + 3, (val >> 24) & 0xff);
#endif
}
 
 
static CPUReadMemoryFunc *cirrus_linear_bitblt_read[3] = {
cirrus_linear_bitblt_readb,
cirrus_linear_bitblt_readw,
cirrus_linear_bitblt_readl,
};
 
static CPUWriteMemoryFunc *cirrus_linear_bitblt_write[3] = {
cirrus_linear_bitblt_writeb,
cirrus_linear_bitblt_writew,
cirrus_linear_bitblt_writel,
};
 
static void map_linear_vram(CirrusVGAState *s)
{
vga_dirty_log_stop((VGAState *)s);
 
if (!s->map_addr && s->lfb_addr && s->lfb_end) {
s->map_addr = s->lfb_addr;
s->map_end = s->lfb_end;
cpu_register_physical_memory(s->map_addr, s->map_end - s->map_addr, s->vram_offset);
}
 
if (!s->map_addr)
return;
 
s->lfb_vram_mapped = 0;
 
cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x8000,
(s->vram_offset + s->cirrus_bank_base[0]) | IO_MEM_UNASSIGNED);
cpu_register_physical_memory(isa_mem_base + 0xa8000, 0x8000,
(s->vram_offset + s->cirrus_bank_base[1]) | IO_MEM_UNASSIGNED);
if (!(s->cirrus_srcptr != s->cirrus_srcptr_end)
&& !((s->sr[0x07] & 0x01) == 0)
&& !((s->gr[0x0B] & 0x14) == 0x14)
&& !(s->gr[0x0B] & 0x02)) {
 
vga_dirty_log_stop((VGAState *)s);
cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x8000,
(s->vram_offset + s->cirrus_bank_base[0]) | IO_MEM_RAM);
cpu_register_physical_memory(isa_mem_base + 0xa8000, 0x8000,
(s->vram_offset + s->cirrus_bank_base[1]) | IO_MEM_RAM);
 
s->lfb_vram_mapped = 1;
}
else {
cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x20000,
s->vga_io_memory);
}
 
vga_dirty_log_start((VGAState *)s);
}
 
static void unmap_linear_vram(CirrusVGAState *s)
{
vga_dirty_log_stop((VGAState *)s);
 
if (s->map_addr && s->lfb_addr && s->lfb_end)
s->map_addr = s->map_end = 0;
 
cpu_register_physical_memory(isa_mem_base + 0xa0000, 0x20000,
s->vga_io_memory);
 
vga_dirty_log_start((VGAState *)s);
}
 
/* Compute the memory access functions */
static void cirrus_update_memory_access(CirrusVGAState *s)
{
unsigned mode;
 
if ((s->sr[0x17] & 0x44) == 0x44) {
goto generic_io;
} else if (s->cirrus_srcptr != s->cirrus_srcptr_end) {
goto generic_io;
} else {
if ((s->gr[0x0B] & 0x14) == 0x14) {
goto generic_io;
} else if (s->gr[0x0B] & 0x02) {
goto generic_io;
}
 
mode = s->gr[0x05] & 0x7;
if (mode < 4 || mode > 5 || ((s->gr[0x0B] & 0x4) == 0)) {
map_linear_vram(s);
s->cirrus_linear_write[0] = cirrus_linear_mem_writeb;
s->cirrus_linear_write[1] = cirrus_linear_mem_writew;
s->cirrus_linear_write[2] = cirrus_linear_mem_writel;
} else {
generic_io:
unmap_linear_vram(s);
s->cirrus_linear_write[0] = cirrus_linear_writeb;
s->cirrus_linear_write[1] = cirrus_linear_writew;
s->cirrus_linear_write[2] = cirrus_linear_writel;
}
}
}
 
 
/* I/O ports */
 
static uint32_t_ vga_ioport_read(void *opaque, uint32_t_ addr)
{
CirrusVGAState *s = (CirrusVGAState *)opaque;
int val, index;
if(addr==0x904) addr = 0x094;
if(addr==0xCA0) addr = 0x3C0;
if(addr==0xCA1) addr = 0x3C1;
if(addr==0xCA2) addr = 0x3C2;
if(addr==0xCA3) addr = 0x3C3;
if(addr==0xCA4) addr = 0x3C4;
if(addr==0xCA5) addr = 0x3C5;
if(addr==0xCA6) addr = 0x3C6;
if(addr==0xCA7) addr = 0x3C7;
if(addr==0xCA8) addr = 0x3C8;
if(addr==0xCA9) addr = 0x3C9;
if(addr==0xCAA) addr = 0x3CA;
if(addr==0xCAB) addr = 0x3CB;
if(addr==0xCAC) addr = 0x3CC;
if(addr==0xCAD) addr = 0x3CD;
if(addr==0xCAE) addr = 0x3CE;
if(addr==0xCAF) addr = 0x3CF;
if(addr==0xBA4) addr = 0x3B4;
if(addr==0xBA5) addr = 0x3B5;
if(addr==0xDA4) addr = 0x3D4;
if(addr==0xDA5) addr = 0x3D5;
if(addr==0xBAA) addr = 0x3BA;
if(addr==0xDAA) addr = 0x3DA;
 
/* check port range access depending on color/monochrome mode */
if ((addr >= 0x3b0 && addr <= 0x3bf && (s->msr & MSR_COLOR_EMULATION))
|| (addr >= 0x3d0 && addr <= 0x3df
&& !(s->msr & MSR_COLOR_EMULATION))) {
val = 0xff;
} else {
switch (addr) {
case 0x3c0:
if (s->ar_flip_flop == 0) {
val = s->ar_index;
} else {
val = 0;
}
break;
case 0x3c1:
index = s->ar_index & 0x1f;
if (index < 21)
val = s->ar[index];
else
val = 0;
break;
case 0x3c2:
val = s->st00;
break;
case 0x3c4:
val = s->sr_index;
break;
case 0x3c5:
if (cirrus_hook_read_sr(s, s->sr_index, &val))
break;
val = s->sr[s->sr_index];
#ifdef DEBUG_VGA_REG
printf("vga: read SR%x = 0x%02x\n", s->sr_index, val);
#endif
break;
case 0x3c6:
cirrus_read_hidden_dac(s, &val);
break;
case 0x3c7:
val = s->dac_state;
break;
case 0x3c8:
val = s->dac_write_index;
s->cirrus_hidden_dac_lockindex = 0;
break;
case 0x3c9:
if (cirrus_hook_read_palette(s, &val))
break;
val = s->palette[s->dac_read_index * 3 + s->dac_sub_index];
if (++s->dac_sub_index == 3) {
s->dac_sub_index = 0;
s->dac_read_index++;
}
break;
case 0x3ca:
val = s->fcr;
break;
case 0x3cc:
val = s->msr;
break;
case 0x3ce:
val = s->gr_index;
break;
case 0x3cf:
if (cirrus_hook_read_gr(s, s->gr_index, &val))
break;
val = s->gr[s->gr_index];
#ifdef DEBUG_VGA_REG
printf("vga: read GR%x = 0x%02x\n", s->gr_index, val);
#endif
break;
case 0x3b4:
case 0x3d4:
val = s->cr_index;
break;
case 0x3b5:
case 0x3d5:
if (cirrus_hook_read_cr(s, s->cr_index, &val))
break;
val = s->cr[s->cr_index];
#ifdef DEBUG_VGA_REG
printf("vga: read CR%x = 0x%02x\n", s->cr_index, val);
#endif
break;
case 0x3ba:
case 0x3da:
/* just toggle to fool polling */
val = s->st01 = s->retrace((VGAState *) s);
s->ar_flip_flop = 0;
break;
default:
val = 0x00;
break;
}
}
#if defined(TRACE)
//TRACEOUT(("VGA: read addr=0x%04x data=0x%02x\n", addr, val));
#endif
return val;
}
static REG8 __fastcall vga_ioport_read_wrap(UINT addr)
{
return vga_ioport_read(cirrusvga, addr);
}
 
static void vga_ioport_write(void *opaque, uint32_t_ addr, uint32_t_ val)
{
CirrusVGAState *s = (CirrusVGAState *)opaque;
int index;
 
//if(addr==0x904) addr = 0x094;
//if(addr==0xCA0) addr = 0x3C0;
//if(addr==0xCA1) addr = 0x3C1;
//if(addr==0xCA2) addr = 0x3C2;
//if(addr==0xCA3) addr = 0x3C3;
//if(addr==0xCA4) addr = 0x3C4;
//if(addr==0xCA5) addr = 0x3C5;
//if(addr==0xCA6) addr = 0x3C6;
//if(addr==0xCA7) addr = 0x3C7;
//if(addr==0xCA8) addr = 0x3C8;
//if(addr==0xCA9) addr = 0x3C9;
//if(addr==0xCAA) addr = 0x3CA;
//if(addr==0xCAB) addr = 0x3CB;
//if(addr==0xCAC) addr = 0x3CC;
//if(addr==0xCAD) addr = 0x3CD;
//if(addr==0xCAE) addr = 0x3CE;
//if(addr==0xCAF) addr = 0x3CF;
//if(addr==0xBA4) addr = 0x3B4;
//if(addr==0xBA5) addr = 0x3B5;
//if(addr==0xDA4) addr = 0x3D4;
//if(addr==0xDA5) addr = 0x3D5;
//if(addr==0xBAA) addr = 0x3BA;
//if(addr==0xDAA) addr = 0x3DA;
 
/* check port range access depending on color/monochrome mode */
if ((addr >= 0x3b0 && addr <= 0x3bf && (s->msr & MSR_COLOR_EMULATION))
|| (addr >= 0x3d0 && addr <= 0x3df
&& !(s->msr & MSR_COLOR_EMULATION)))
return;
 
#ifdef TRACE
//TRACEOUT(("VGA: write addr=0x%04x data=0x%02x\n", addr, val));
#endif
 
switch (addr) {
case 0x3c0:
if (s->ar_flip_flop == 0) {
val &= 0x3f;
s->ar_index = val;
} else {
index = s->ar_index & 0x1f;
switch (index) {
case 0x00:
case 0x01:
case 0x02:
case 0x03:
case 0x04:
case 0x05:
case 0x06:
case 0x07:
case 0x08:
case 0x09:
case 0x0a:
case 0x0b:
case 0x0c:
case 0x0d:
case 0x0e:
case 0x0f:
s->ar[index] = val & 0x3f;
break;
case 0x10:
s->ar[index] = val & ~0x10;
break;
case 0x11:
s->ar[index] = val;
break;
case 0x12:
s->ar[index] = val & ~0xc0;
break;
case 0x13:
s->ar[index] = val & ~0xf0;
break;
case 0x14:
s->ar[index] = val & ~0xf0;
break;
default:
break;
}
}
s->ar_flip_flop ^= 1;
break;
case 0x3c2:
s->msr = val & ~0x10;
s->update_retrace_info((VGAState *) s);
break;
case 0x3c4:
s->sr_index = val;
break;
case 0x3c5:
if (cirrus_hook_write_sr(s, s->sr_index, val))
break;
#ifdef DEBUG_VGA_REG
printf("vga: write SR%x = 0x%02x\n", s->sr_index, val);
#endif
s->sr[s->sr_index] = val & sr_mask[s->sr_index];
if (s->sr_index == 1) s->update_retrace_info((VGAState *) s);
break;
case 0x3c6:
cirrus_write_hidden_dac(s, val);
break;
case 0x3c7:
s->dac_read_index = val;
s->dac_sub_index = 0;
s->dac_state = 3;
break;
case 0x3c8:
s->dac_write_index = val;
s->dac_sub_index = 0;
s->dac_state = 0;
break;
case 0x3c9:
if (cirrus_hook_write_palette(s, val))
break;
s->dac_cache[s->dac_sub_index] = val;
if (++s->dac_sub_index == 3) {
memcpy(&s->palette[s->dac_write_index * 3], s->dac_cache, 3);
s->dac_sub_index = 0;
s->dac_write_index++;
}
break;
case 0x3ce:
s->gr_index = val;
break;
case 0x3cf:
if (cirrus_hook_write_gr(s, s->gr_index, val))
break;
#ifdef DEBUG_VGA_REG
printf("vga: write GR%x = 0x%02x\n", s->gr_index, val);
#endif
s->gr[s->gr_index] = val & gr_mask[s->gr_index];
break;
case 0x3b4:
case 0x3d4:
s->cr_index = val;
break;
case 0x3b5:
case 0x3d5:
if (cirrus_hook_write_cr(s, s->cr_index, val))
break;
#ifdef DEBUG_VGA_REG
printf("vga: write CR%x = 0x%02x\n", s->cr_index, val);
#endif
/* handle CR0-7 protection */
if ((s->cr[0x11] & 0x80) && s->cr_index <= 7) {
/* can always write bit 4 of CR7 */
if (s->cr_index == 7)
s->cr[7] = (s->cr[7] & ~0x10) | (val & 0x10);
return;
}
switch (s->cr_index) {
case 0x01: /* horizontal display end */
case 0x07:
case 0x09:
case 0x0c:
case 0x0d:
case 0x12: /* vertical display end */
s->cr[s->cr_index] = val;
break;
 
default:
s->cr[s->cr_index] = val;
break;
}
 
switch(s->cr_index) {
case 0x00:
case 0x04:
case 0x05:
case 0x06:
case 0x07:
case 0x11:
case 0x17:
s->update_retrace_info((VGAState *) s);
break;
}
break;
case 0x3ba:
case 0x3da:
s->fcr = val & 0x10;
break;
}
}
static void __fastcall vga_ioport_write_wrap(UINT addr, REG8 dat)
{
//TRACEOUT((""));
if(addr==0xca5 && dat==0x01){
TRACEOUT((""));
}
vga_ioport_write(cirrusvga, addr, dat);
}
 
/***************************************
*
* memory-mapped I/O access
*
***************************************/
 
uint32_t_ cirrus_mmio_readb(void *opaque, target_phys_addr_t addr)
{
CirrusVGAState *s = (CirrusVGAState *) opaque;
 
addr &= CIRRUS_PNPMMIO_SIZE - 1;
 
if (addr >= 0x100) {
return cirrus_mmio_blt_read(s, addr - 0x100);
} else {
return vga_ioport_read(s, addr + 0x3c0);
}
}
 
uint32_t_ cirrus_mmio_readw(void *opaque, target_phys_addr_t addr)
{
uint32_t_ v;
#ifdef TARGET_WORDS_BIGENDIAN
v = cirrus_mmio_readb(opaque, addr) << 8;
v |= cirrus_mmio_readb(opaque, addr + 1);
#else
v = cirrus_mmio_readb(opaque, addr);
v |= cirrus_mmio_readb(opaque, addr + 1) << 8;
#endif
return v;
}
 
uint32_t_ cirrus_mmio_readl(void *opaque, target_phys_addr_t addr)
{
uint32_t_ v;
#ifdef TARGET_WORDS_BIGENDIAN
v = cirrus_mmio_readb(opaque, addr) << 24;
v |= cirrus_mmio_readb(opaque, addr + 1) << 16;
v |= cirrus_mmio_readb(opaque, addr + 2) << 8;
v |= cirrus_mmio_readb(opaque, addr + 3);
#else
v = cirrus_mmio_readb(opaque, addr);
v |= cirrus_mmio_readb(opaque, addr + 1) << 8;
v |= cirrus_mmio_readb(opaque, addr + 2) << 16;
v |= cirrus_mmio_readb(opaque, addr + 3) << 24;
#endif
return v;
}
 
void cirrus_mmio_writeb(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
CirrusVGAState *s = (CirrusVGAState *) opaque;
 
addr &= CIRRUS_PNPMMIO_SIZE - 1;
 
if (addr >= 0x100) {
cirrus_mmio_blt_write(s, addr - 0x100, val);
} else {
vga_ioport_write(s, addr + 0x3c0, val);
}
}
 
void cirrus_mmio_writew(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
#ifdef TARGET_WORDS_BIGENDIAN
cirrus_mmio_writeb(opaque, addr, (val >> 8) & 0xff);
cirrus_mmio_writeb(opaque, addr + 1, val & 0xff);
#else
cirrus_mmio_writeb(opaque, addr, val & 0xff);
cirrus_mmio_writeb(opaque, addr + 1, (val >> 8) & 0xff);
#endif
}
 
void cirrus_mmio_writel(void *opaque, target_phys_addr_t addr,
uint32_t_ val)
{
#ifdef TARGET_WORDS_BIGENDIAN
cirrus_mmio_writeb(opaque, addr, (val >> 24) & 0xff);
cirrus_mmio_writeb(opaque, addr + 1, (val >> 16) & 0xff);
cirrus_mmio_writeb(opaque, addr + 2, (val >> 8) & 0xff);
cirrus_mmio_writeb(opaque, addr + 3, val & 0xff);
#else
cirrus_mmio_writeb(opaque, addr, val & 0xff);
cirrus_mmio_writeb(opaque, addr + 1, (val >> 8) & 0xff);
cirrus_mmio_writeb(opaque, addr + 2, (val >> 16) & 0xff);
cirrus_mmio_writeb(opaque, addr + 3, (val >> 24) & 0xff);
#endif
}
 
 
CPUReadMemoryFunc *cirrus_mmio_read[3] = {
cirrus_mmio_readb,
cirrus_mmio_readw,
cirrus_mmio_readl,
};
 
CPUWriteMemoryFunc *cirrus_mmio_write[3] = {
cirrus_mmio_writeb,
cirrus_mmio_writew,
cirrus_mmio_writel,
};
 
/* load/save state */
 
static void cirrus_vga_save(QEMUFile *f, void *opaque)
{
/*CirrusVGAState *s = opaque;
 
if (s->pci_dev)
pci_device_save(s->pci_dev, f);
 
qemu_put_be32s(f, &s->latch);
qemu_put_8s(f, &s->sr_index);
qemu_put_buffer(f, s->sr, 256);
qemu_put_8s(f, &s->gr_index);
qemu_put_8s(f, &s->cirrus_shadow_gr0);
qemu_put_8s(f, &s->cirrus_shadow_gr1);
qemu_put_buffer(f, s->gr + 2, 254);
qemu_put_8s(f, &s->ar_index);
qemu_put_buffer(f, s->ar, 21);
qemu_put_be32(f, s->ar_flip_flop);
qemu_put_8s(f, &s->cr_index);
qemu_put_buffer(f, s->cr, 256);
qemu_put_8s(f, &s->msr);
qemu_put_8s(f, &s->fcr);
qemu_put_8s(f, &s->st00);
qemu_put_8s(f, &s->st01);
 
qemu_put_8s(f, &s->dac_state);
qemu_put_8s(f, &s->dac_sub_index);
qemu_put_8s(f, &s->dac_read_index);
qemu_put_8s(f, &s->dac_write_index);
qemu_put_buffer(f, s->dac_cache, 3);
qemu_put_buffer(f, s->palette, 768);
 
qemu_put_be32(f, s->bank_offset);
 
qemu_put_8s(f, &s->cirrus_hidden_dac_lockindex);
qemu_put_8s(f, &s->cirrus_hidden_dac_data);
 
qemu_put_be32s(f, &s->hw_cursor_x);
qemu_put_be32s(f, &s->hw_cursor_y);*/
/* XXX: we do not save the bitblt state - we assume we do not save
the state when the blitter is active */
}
 
static int cirrus_vga_load(QEMUFile *f, void *opaque, int version_id)
{
/*CirrusVGAState *s = opaque;
int ret;
 
if (version_id > 2)
return -EINVAL;
 
if (s->pci_dev && version_id >= 2) {
ret = pci_device_load(s->pci_dev, f);
if (ret < 0)
return ret;
}
 
qemu_get_be32s(f, &s->latch);
qemu_get_8s(f, &s->sr_index);
qemu_get_buffer(f, s->sr, 256);
qemu_get_8s(f, &s->gr_index);
qemu_get_8s(f, &s->cirrus_shadow_gr0);
qemu_get_8s(f, &s->cirrus_shadow_gr1);
s->gr[0x00] = s->cirrus_shadow_gr0 & 0x0f;
s->gr[0x01] = s->cirrus_shadow_gr1 & 0x0f;
qemu_get_buffer(f, s->gr + 2, 254);
qemu_get_8s(f, &s->ar_index);
qemu_get_buffer(f, s->ar, 21);
s->ar_flip_flop=qemu_get_be32(f);
qemu_get_8s(f, &s->cr_index);
qemu_get_buffer(f, s->cr, 256);
qemu_get_8s(f, &s->msr);
qemu_get_8s(f, &s->fcr);
qemu_get_8s(f, &s->st00);
qemu_get_8s(f, &s->st01);
 
qemu_get_8s(f, &s->dac_state);
qemu_get_8s(f, &s->dac_sub_index);
qemu_get_8s(f, &s->dac_read_index);
qemu_get_8s(f, &s->dac_write_index);
qemu_get_buffer(f, s->dac_cache, 3);
qemu_get_buffer(f, s->palette, 768);
 
s->bank_offset=qemu_get_be32(f);
 
qemu_get_8s(f, &s->cirrus_hidden_dac_lockindex);
qemu_get_8s(f, &s->cirrus_hidden_dac_data);
 
qemu_get_be32s(f, &s->hw_cursor_x);
qemu_get_be32s(f, &s->hw_cursor_y);
 
cirrus_update_memory_access(s);
s->graphic_mode = -1;
cirrus_update_bank_ptr(s, 0);
cirrus_update_bank_ptr(s, 1);*/
return 0;
}
 
/***************************************
*
* initialize
*
***************************************/
void cirrus_reset(void *opaque)
{
CirrusVGAState *s = (CirrusVGAState*)opaque;
 
vga_reset(s);
unmap_linear_vram(s);
s->sr[0x06] = 0x0f;
if (s->device_id == CIRRUS_ID_CLGD5446) {
/* 4MB 64 bit memory config, always PCI */
s->sr[0x1F] = 0x2d; // MemClock
s->gr[0x18] = 0x0f; // fastest memory configuration
s->sr[0x0f] = 0x98;
s->sr[0x17] = 0x20;
s->sr[0x15] = 0x04; /* memory size, 3=2MB, 4=4MB */
} else {
s->sr[0x1F] = 0x22; // MemClock
s->sr[0x0F] = CIRRUS_MEMSIZE_2M;
s->sr[0x17] = s->bustype;
s->sr[0x15] = 0x03; /* memory size, 3=2MB, 4=4MB */
}
s->cr[0x27] = s->device_id;
 
/* Win2K seems to assume that the pattern buffer is at 0xff
initially ! */
memset(s->vram_ptr, 0xff, s->real_vram_size);
 
s->cirrus_hidden_dac_lockindex = 5;
s->cirrus_hidden_dac_data = 0;
}
 
static void cirrus_init_common(CirrusVGAState * s, int device_id, int is_pci)
{
int i;
static int inited;
 
if (!inited) {
inited = 1;
for(i = 0;i < 256; i++)
rop_to_index[i] = CIRRUS_ROP_NOP_INDEX; /* nop rop */
rop_to_index[CIRRUS_ROP_0] = 0;
rop_to_index[CIRRUS_ROP_SRC_AND_DST] = 1;
rop_to_index[CIRRUS_ROP_NOP] = 2;
rop_to_index[CIRRUS_ROP_SRC_AND_NOTDST] = 3;
rop_to_index[CIRRUS_ROP_NOTDST] = 4;
rop_to_index[CIRRUS_ROP_SRC] = 5;
rop_to_index[CIRRUS_ROP_1] = 6;
rop_to_index[CIRRUS_ROP_NOTSRC_AND_DST] = 7;
rop_to_index[CIRRUS_ROP_SRC_XOR_DST] = 8;
rop_to_index[CIRRUS_ROP_SRC_OR_DST] = 9;
rop_to_index[CIRRUS_ROP_NOTSRC_OR_NOTDST] = 10;
rop_to_index[CIRRUS_ROP_SRC_NOTXOR_DST] = 11;
rop_to_index[CIRRUS_ROP_SRC_OR_NOTDST] = 12;
rop_to_index[CIRRUS_ROP_NOTSRC] = 13;
rop_to_index[CIRRUS_ROP_NOTSRC_OR_DST] = 14;
rop_to_index[CIRRUS_ROP_NOTSRC_AND_NOTDST] = 15;
s->device_id = device_id;
if (is_pci)
s->bustype = CIRRUS_BUSTYPE_PCI;
else
s->bustype = CIRRUS_BUSTYPE_ISA;
}
 
register_ioport_write(0x3c0, 16, 1, vga_ioport_write, s);
 
register_ioport_write(0x3b4, 2, 1, vga_ioport_write, s);
register_ioport_write(0x3d4, 2, 1, vga_ioport_write, s);
register_ioport_write(0x3ba, 1, 1, vga_ioport_write, s);
register_ioport_write(0x3da, 1, 1, vga_ioport_write, s);
 
register_ioport_read(0x3c0, 16, 1, vga_ioport_read, s);
 
register_ioport_read(0x3b4, 2, 1, vga_ioport_read, s);
register_ioport_read(0x3d4, 2, 1, vga_ioport_read, s);
register_ioport_read(0x3ba, 1, 1, vga_ioport_read, s);
register_ioport_read(0x3da, 1, 1, vga_ioport_read, s);
 
s->vga_io_memory = cpu_register_io_memory(0, cirrus_vga_mem_read,
cirrus_vga_mem_write, s);
cpu_register_physical_memory(isa_mem_base + 0x000a0000, 0x20000,
s->vga_io_memory);
qemu_register_coalesced_mmio(isa_mem_base + 0x000a0000, 0x20000);
 
/* I/O handler for LFB */
s->cirrus_linear_io_addr =
cpu_register_io_memory(0, cirrus_linear_read, cirrus_linear_write, s);
s->cirrus_linear_write = cpu_get_io_memory_write(s->cirrus_linear_io_addr);
 
/* I/O handler for LFB */
s->cirrus_linear_bitblt_io_addr =
cpu_register_io_memory(0, cirrus_linear_bitblt_read,
cirrus_linear_bitblt_write, s);
 
/* I/O handler for memory-mapped I/O */
s->cirrus_mmio_io_addr =
cpu_register_io_memory(0, cirrus_mmio_read, cirrus_mmio_write, s);
 
s->real_vram_size =
(s->device_id == CIRRUS_ID_CLGD5446) ? 4096 * 1024 : 2048 * 1024;
 
/* XXX: s->vram_size must be a power of two */
s->cirrus_addr_mask = s->real_vram_size - 1;
s->linear_mmio_mask = s->real_vram_size - 256;
 
s->get_bpp = cirrus_get_bpp;
s->get_offsets = cirrus_get_offsets;
s->get_resolution = cirrus_get_resolution;
s->cursor_invalidate = cirrus_cursor_invalidate;
s->cursor_draw_line = cirrus_cursor_draw_line;
 
qemu_register_reset(cirrus_reset, s);
cirrus_reset(s);
//register_savevm("cirrus_vga", 0, 2, cirrus_vga_save, cirrus_vga_load, s);// XXX:
}
 
/***************************************
*
* ISA bus support
*
***************************************/
 
void isa_cirrus_vga_init(uint8_t *vga_ram_base,
ram_addr_t vga_ram_offset, int vga_ram_size)
{
CirrusVGAState *s;
 
s = (CirrusVGAState*)qemu_mallocz(sizeof(CirrusVGAState));
 
vga_common_init((VGAState *)s,
vga_ram_base, vga_ram_offset, vga_ram_size);
cirrus_init_common(s, CIRRUS_ID_CLGD5430, 0);
s->ds = graphic_console_init(s->update, s->invalidate,
s->screen_dump, s->text_update, s);
/* XXX ISA-LFB support */
}
 
/***************************************
*
* PC-9821 support
*
***************************************/
REG8 cirrusvga_regindex = 0;
REG8 cirrusvga_relay = 0;
static void IOOUTCALL cirrusvga_ofaa(UINT port, REG8 dat) {
TRACEOUT(("CIRRUS VGA: set register index %02X", dat));
cirrusvga_regindex = dat;
(void)port;
(void)dat;
}
static REG8 IOINPCALL cirrusvga_ifaa(UINT port) {
TRACEOUT(("CIRRUS VGA: get register index %02X", cirrusvga_regindex));
return cirrusvga_regindex;
}
static void IOOUTCALL cirrusvga_ofab(UINT port, REG8 dat) {
TRACEOUT(("CIRRUS VGA: out %04X d=%02X", port, dat));
(void)port;
(void)dat;
}
static REG8 IOINPCALL cirrusvga_ifab(UINT port) {
REG8 ret = 0;
TRACEOUT(("CIRRUS VGA: inp %04X", port));
switch(cirrusvga_regindex){
case 0x00:
ret = 0x5B;
break;
case 0x01:
ret = 0x80;
break;
}
return ret;
}
static void IOOUTCALL cirrusvga_ofac(UINT port, REG8 dat) {
TRACEOUT(("CIRRUS VGA: set relay %04X d=%02X", port, dat));
cirrusvga_relay = dat;
(void)port;
(void)dat;
}
static REG8 IOINPCALL cirrusvga_ifac(UINT port) {
TRACEOUT(("CIRRUS VGA: get relay %04X", port));
return cirrusvga_relay;
}
 
static void IOOUTCALL cirrusvga_off82(UINT port, REG8 dat) {
TRACEOUT(("CIRRUS VGA: out %04X d=%02X", port, dat));
cirrusvga_relay = dat;
(void)port;
(void)dat;
}
static REG8 IOINPCALL cirrusvga_iff82(UINT port) {
TRACEOUT(("CIRRUS VGA: inp %04X", port));
return cirrusvga_relay;
}
 
 
static void vga_dumb_update_retrace_info(VGAState *s)
{
(void) s;
}
 
static void pc98_cirrus_init_common(CirrusVGAState * s, int device_id, int is_pci)
{
int i;
static int inited;
if (!inited) {
inited = 1;
for(i = 0;i < 256; i++)
rop_to_index[i] = CIRRUS_ROP_NOP_INDEX; /* nop rop */
rop_to_index[CIRRUS_ROP_0] = 0;
rop_to_index[CIRRUS_ROP_SRC_AND_DST] = 1;
rop_to_index[CIRRUS_ROP_NOP] = 2;
rop_to_index[CIRRUS_ROP_SRC_AND_NOTDST] = 3;
rop_to_index[CIRRUS_ROP_NOTDST] = 4;
rop_to_index[CIRRUS_ROP_SRC] = 5;
rop_to_index[CIRRUS_ROP_1] = 6;
rop_to_index[CIRRUS_ROP_NOTSRC_AND_DST] = 7;
rop_to_index[CIRRUS_ROP_SRC_XOR_DST] = 8;
rop_to_index[CIRRUS_ROP_SRC_OR_DST] = 9;
rop_to_index[CIRRUS_ROP_NOTSRC_OR_NOTDST] = 10;
rop_to_index[CIRRUS_ROP_SRC_NOTXOR_DST] = 11;
rop_to_index[CIRRUS_ROP_SRC_OR_NOTDST] = 12;
rop_to_index[CIRRUS_ROP_NOTSRC] = 13;
rop_to_index[CIRRUS_ROP_NOTSRC_OR_DST] = 14;
rop_to_index[CIRRUS_ROP_NOTSRC_AND_NOTDST] = 15;
s->device_id = device_id;
if (is_pci)
s->bustype = CIRRUS_BUSTYPE_PCI;
else
s->bustype = CIRRUS_BUSTYPE_ISA;
}
iocore_attachout(0xfaa, cirrusvga_ofaa);
iocore_attachinp(0xfaa, cirrusvga_ifaa);
iocore_attachout(0xfab, cirrusvga_ofab);
iocore_attachinp(0xfab, cirrusvga_ifab);
iocore_attachout(0xfac, cirrusvga_ofac);
iocore_attachinp(0xfac, cirrusvga_ifac);
iocore_attachout(0xff82, cirrusvga_off82);
iocore_attachinp(0xff82, cirrusvga_iff82);
for(i=0;i<16;i++){
iocore_attachout(0xca0 + i, vga_ioport_write_wrap);
iocore_attachinp(0xca0 + i, vga_ioport_read_wrap);
}
//iocore_attachout(0x904, vga_ioport_write_wrap);
//iocore_attachinp(0x904, vga_ioport_read_wrap);
 
iocore_attachout(0xba4, vga_ioport_write_wrap);
iocore_attachinp(0xba4, vga_ioport_read_wrap);
iocore_attachout(0xba5, vga_ioport_write_wrap);
iocore_attachinp(0xba5, vga_ioport_read_wrap);
 
iocore_attachout(0xda4, vga_ioport_write_wrap);
iocore_attachinp(0xda4, vga_ioport_read_wrap);
iocore_attachout(0xda5, vga_ioport_write_wrap);
iocore_attachinp(0xda5, vga_ioport_read_wrap);
iocore_attachout(0xbaa, vga_ioport_write_wrap);
iocore_attachinp(0xbaa, vga_ioport_read_wrap);
 
iocore_attachout(0xdaa, vga_ioport_write_wrap);
iocore_attachinp(0xdaa, vga_ioport_read_wrap);
//register_ioport_write(0x3c0, 16, 1, vga_ioport_write, s);
 
//register_ioport_write(0x3b4, 2, 1, vga_ioport_write, s);
//register_ioport_write(0x3d4, 2, 1, vga_ioport_write, s);
//register_ioport_write(0x3ba, 1, 1, vga_ioport_write, s);
//register_ioport_write(0x3da, 1, 1, vga_ioport_write, s);
 
//register_ioport_read(0x3c0, 16, 1, vga_ioport_read, s);
 
//register_ioport_read(0x3b4, 2, 1, vga_ioport_read, s);
//register_ioport_read(0x3d4, 2, 1, vga_ioport_read, s);
//register_ioport_read(0x3ba, 1, 1, vga_ioport_read, s);
//register_ioport_read(0x3da, 1, 1, vga_ioport_read, s);
 
s->vga_io_memory = 0xF0000000;//cpu_register_io_memory(0, cirrus_vga_mem_read, cirrus_vga_mem_write, s);
//cpu_register_physical_memory(isa_mem_base + 0x000a0000, 0x20000,
// s->vga_io_memory);
//qemu_register_coalesced_mmio(isa_mem_base + 0x000a0000, 0x20000);
 
/* I/O handler for LFB */
s->cirrus_linear_io_addr = 0xF0011000;//cpu_register_io_memory(0, cirrus_linear_read, cirrus_linear_write, s);
s->cirrus_linear_write = cirrus_vga_mem_write;//cpu_get_io_memory_write(s->cirrus_linear_io_addr);
 
/* I/O handler for LFB */
s->cirrus_linear_bitblt_io_addr = 0xF0012000;//cpu_register_io_memory(0, cirrus_linear_bitblt_read, cirrus_linear_bitblt_write, s);
 
/* I/O handler for memory-mapped I/O */
//s->cirrus_mmio_io_addr = cpu_register_io_memory(0, cirrus_mmio_read, cirrus_mmio_write, s);
s->cirrus_mmio_io_addr = 0xF0013000;
 
s->real_vram_size = (s->device_id == CIRRUS_ID_CLGD5446) ? 4096 * 1024 : 2048 * 1024;
 
/* XXX: s->vram_size must be a power of two */
s->cirrus_addr_mask = s->real_vram_size - 1;
s->linear_mmio_mask = s->real_vram_size - 256;
 
s->get_bpp = cirrus_get_bpp;
s->get_offsets = cirrus_get_offsets;
s->get_resolution = cirrus_get_resolution;
s->cursor_invalidate = cirrus_cursor_invalidate;
s->cursor_draw_line = cirrus_cursor_draw_line;
 
s->update_retrace_info = vga_dumb_update_retrace_info;
s->retrace = vga_dumb_retrace;
 
qemu_register_reset(cirrus_reset, s);
cirrus_reset(s);
//register_savevm("cirrus_vga", 0, 2, cirrus_vga_save, cirrus_vga_load, s);// XXX:
}
 
 
void pc98_cirrus_vga_init()
{
//vga_common_init((VGAState *)s, vga_ram_base, vga_ram_offset, vga_ram_size);
}
void pc98_cirrus_vga_bind()
{
CirrusVGAState *s;
cirrusvga_opaque = cirrusvga = s = (CirrusVGAState*)calloc(1, sizeof(CirrusVGAState));
s->vram_ptr = (uint8_t*)malloc((9 * 1024 * 1024));
s->vram_offset = 0;
s->vram_size = (9 * 1024 * 1024);
pc98_cirrus_init_common(s, CIRRUS_ID_CLGD5430, 0);
s->ds = graphic_console_init(s->update, s->invalidate, s->screen_dump, s->text_update, s);
 
//g_memptr = s->vram_ptr;
}
void pc98_cirrus_vga_shutdown()
{
 
}
 
 
//
///***************************************
// *
// * PCI bus support
// *
// ***************************************/
//
//static void cirrus_pci_lfb_map(PCIDevice *d, int region_num,
// uint32_t_ addr, uint32_t_ size, int type)
//{
// CirrusVGAState *s = &((PCICirrusVGAState *)d)->cirrus_vga;
//
// vga_dirty_log_stop((VGAState *)s);
//
// /* XXX: add byte swapping apertures */
// cpu_register_physical_memory(addr, s->vram_size,
// s->cirrus_linear_io_addr);
// cpu_register_physical_memory(addr + 0x1000000, 0x400000,
// s->cirrus_linear_bitblt_io_addr);
//
// s->map_addr = s->map_end = 0;
// s->lfb_addr = addr & TARGET_PAGE_MASK;
// s->lfb_end = ((addr + VGA_RAM_SIZE) + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK;
// /* account for overflow */
// if (s->lfb_end < addr + VGA_RAM_SIZE)
// s->lfb_end = addr + VGA_RAM_SIZE;
//
// vga_dirty_log_start((VGAState *)s);
//}
//
//static void cirrus_pci_mmio_map(PCIDevice *d, int region_num,
// uint32_t_ addr, uint32_t_ size, int type)
//{
// CirrusVGAState *s = &((PCICirrusVGAState *)d)->cirrus_vga;
//
// cpu_register_physical_memory(addr, CIRRUS_PNPMMIO_SIZE,
// s->cirrus_mmio_io_addr);
//}
//
//static void pci_cirrus_write_config(PCIDevice *d,
// uint32_t_ address, uint32_t_ val, int len)
//{
// PCICirrusVGAState *pvs = container_of(d, PCICirrusVGAState, dev);
// CirrusVGAState *s = &pvs->cirrus_vga;
//
// vga_dirty_log_stop((VGAState *)s);
//
// pci_default_write_config(d, address, val, len);
// if (s->map_addr && pvs->dev.io_regions[0].addr == -1)
// s->map_addr = 0;
// cirrus_update_memory_access(s);
//
// vga_dirty_log_start((VGAState *)s);
//}
//
//void pci_cirrus_vga_init(PCIBus *bus, uint8_t *vga_ram_base,
// ram_addr_t vga_ram_offset, int vga_ram_size)
//{
// PCICirrusVGAState *d;
// uint8_t *pci_conf;
// CirrusVGAState *s;
// int device_id;
//
// device_id = CIRRUS_ID_CLGD5446;
//
// /* setup PCI configuration registers */
// d = (PCICirrusVGAState *)pci_register_device(bus, "Cirrus VGA",
// sizeof(PCICirrusVGAState),
// -1, NULL, pci_cirrus_write_config);
// pci_conf = d->dev.config;
// pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_CIRRUS);
// pci_config_set_device_id(pci_conf, device_id);
// pci_conf[0x04] = PCI_COMMAND_IOACCESS | PCI_COMMAND_MEMACCESS;
// pci_config_set_class(pci_conf, PCI_CLASS_DISPLAY_VGA);
// pci_conf[0x0e] = PCI_CLASS_HEADERTYPE_00h;
//
// /* setup VGA */
// s = &d->cirrus_vga;
// vga_common_init((VGAState *)s,
// vga_ram_base, vga_ram_offset, vga_ram_size);
// cirrus_init_common(s, device_id, 1);
//
// s->ds = graphic_console_init(s->update, s->invalidate,
// s->screen_dump, s->text_update, s);
//
// s->pci_dev = (PCIDevice *)d;
//
// /* setup memory space */
// /* memory #0 LFB */
// /* memory #1 memory-mapped I/O */
// /* XXX: s->vram_size must be a power of two */
// pci_register_io_region((PCIDevice *)d, 0, 0x2000000,
// PCI_ADDRESS_SPACE_MEM_PREFETCH, cirrus_pci_lfb_map);
// if (device_id == CIRRUS_ID_CLGD5446) {
// pci_register_io_region((PCIDevice *)d, 1, CIRRUS_PNPMMIO_SIZE,
// PCI_ADDRESS_SPACE_MEM, cirrus_pci_mmio_map);
// }
// /* XXX: ROM BIOS */
//}
 
#endif
New file
/np21/video/cirrus_vga_rop.h
@@ -0,0 +1,190 @@
#if defined(SUPPORT_CL_GD5430)
/*
* QEMU Cirrus CLGD 54xx VGA Emulator.
*
* Copyright (c) 2004 Fabrice Bellard
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
 
static void
glue(cirrus_bitblt_rop_fwd_, ROP_NAME)(CirrusVGAState *s,
uint8_t *dst,const uint8_t *src,
int dstpitch,int srcpitch,
int bltwidth,int bltheight)
{
int x,y;
dstpitch -= bltwidth;
srcpitch -= bltwidth;
 
if (dstpitch < 0 || srcpitch < 0) {
/* is 0 valid? srcpitch == 0 could be useful */
return;
}
 
for (y = 0; y < bltheight; y++) {
for (x = 0; x < bltwidth; x++) {
ROP_OP(*dst, *src);
dst++;
src++;
}
dst += dstpitch;
src += srcpitch;
}
}
 
static void
glue(cirrus_bitblt_rop_bkwd_, ROP_NAME)(CirrusVGAState *s,
uint8_t *dst,const uint8_t *src,
int dstpitch,int srcpitch,
int bltwidth,int bltheight)
{
int x,y;
dstpitch += bltwidth;
srcpitch += bltwidth;
for (y = 0; y < bltheight; y++) {
for (x = 0; x < bltwidth; x++) {
ROP_OP(*dst, *src);
dst--;
src--;
}
dst += dstpitch;
src += srcpitch;
}
}
 
static void
glue(glue(cirrus_bitblt_rop_fwd_transp_, ROP_NAME),_8)(CirrusVGAState *s,
uint8_t *dst,const uint8_t *src,
int dstpitch,int srcpitch,
int bltwidth,int bltheight)
{
int x,y;
uint8_t p;
dstpitch -= bltwidth;
srcpitch -= bltwidth;
for (y = 0; y < bltheight; y++) {
for (x = 0; x < bltwidth; x++) {
p = *dst;
ROP_OP(p, *src);
if (p != s->gr[0x34]) *dst = p;
dst++;
src++;
}
dst += dstpitch;
src += srcpitch;
}
}
 
static void
glue(glue(cirrus_bitblt_rop_bkwd_transp_, ROP_NAME),_8)(CirrusVGAState *s,
uint8_t *dst,const uint8_t *src,
int dstpitch,int srcpitch,
int bltwidth,int bltheight)
{
int x,y;
uint8_t p;
dstpitch += bltwidth;
srcpitch += bltwidth;
for (y = 0; y < bltheight; y++) {
for (x = 0; x < bltwidth; x++) {
p = *dst;
ROP_OP(p, *src);
if (p != s->gr[0x34]) *dst = p;
dst--;
src--;
}
dst += dstpitch;
src += srcpitch;
}
}
 
static void
glue(glue(cirrus_bitblt_rop_fwd_transp_, ROP_NAME),_16)(CirrusVGAState *s,
uint8_t *dst,const uint8_t *src,
int dstpitch,int srcpitch,
int bltwidth,int bltheight)
{
int x,y;
uint8_t p1, p2;
dstpitch -= bltwidth;
srcpitch -= bltwidth;
for (y = 0; y < bltheight; y++) {
for (x = 0; x < bltwidth; x+=2) {
p1 = *dst;
p2 = *(dst+1);
ROP_OP(p1, *src);
ROP_OP(p2, *(src+1));
if ((p1 != s->gr[0x34]) || (p2 != s->gr[0x35])) {
*dst = p1;
*(dst+1) = p2;
}
dst+=2;
src+=2;
}
dst += dstpitch;
src += srcpitch;
}
}
 
static void
glue(glue(cirrus_bitblt_rop_bkwd_transp_, ROP_NAME),_16)(CirrusVGAState *s,
uint8_t *dst,const uint8_t *src,
int dstpitch,int srcpitch,
int bltwidth,int bltheight)
{
int x,y;
uint8_t p1, p2;
dstpitch += bltwidth;
srcpitch += bltwidth;
for (y = 0; y < bltheight; y++) {
for (x = 0; x < bltwidth; x+=2) {
p1 = *(dst-1);
p2 = *dst;
ROP_OP(p1, *(src-1));
ROP_OP(p2, *src);
if ((p1 != s->gr[0x34]) || (p2 != s->gr[0x35])) {
*(dst-1) = p1;
*dst = p2;
}
dst-=2;
src-=2;
}
dst += dstpitch;
src += srcpitch;
}
}
 
#define DEPTH 8
#include "cirrus_vga_rop2.h"
 
#define DEPTH 16
#include "cirrus_vga_rop2.h"
 
#define DEPTH 24
#include "cirrus_vga_rop2.h"
 
#define DEPTH 32
#include "cirrus_vga_rop2.h"
 
#undef ROP_NAME
#undef ROP_OP
 
 
#endif

Property changes:

Name: bugtraq:number
+ true

/np21/video
/np21/io/cpuio.c
@@ -3,16 +3,22 @@
#include "pccore.h"
#include "iocore.h"
 
#if defined(SUPPORT_IDEIO)
#include "ideio.h"
#endif
 
// ---- I/O
 
static void IOOUTCALL cpuio_of0(UINT port, REG8 dat) {
 
#if defined(TRACE)
if (CPU_MSW & 1) {
TRACEOUT(("80286 ProtectMode Disable"));
}
#endif
if (CPU_MSW & 1) {
//return;
TRACEOUT(("80286 ProtectMode Disable"));
}
epsonio.cpumode = (CPU_MSW & 1)?'P':'R';
CPU_A20EN(FALSE);
CPU_RESETREQ = 1;
@@ -21,6 +27,11 @@
(void)dat;
}
 
static void IOOUTCALL cpuio_of1(UINT port, REG8 dat) {
TRACEOUT(("IDE master/slave read"));
//f0_ide_status_read = 2; // IDE master/slave read
}
 
static void IOOUTCALL cpuio_of2(UINT port, REG8 dat) {
 
CPU_A20EN(TRUE);
@@ -38,6 +49,41 @@
else { // for AMD-98
ret = 0x18; // 0x14?
}
#if defined(SUPPORT_IDEIO)
/*if(f0_ide_status_read){
REG8 bank = ideio.bank[1] & 0x7f;
if(bank < 2){
IDEDEV dev = ideio.dev + bank;
if (dev) {
IDEDRV drv = dev->drv + (f0_ide_status_read - 1);
if (drv->device != IDETYPE_NONE) {
ret = (ret & ~(1<<5))|(1<<5);
}else{
ret = (ret & ~(1<<5));
}
}
}
f0_ide_status_read--;
}*/
{
REG8 bank = ideio.bank[1] & 0x7f;
TRACEOUT(("IDE master/slave read"));
ret = (ret & ~0x60);
if(bank == 0){
IDEDEV dev = ideio.dev + bank;
if (dev) {
IDEDRV drv = dev->drv;
if (drv->device != IDETYPE_NONE) {
ret |= 0x20;
}
drv++;
if (drv->device != IDETYPE_NONE) {
ret |= 0x40;
}
}
}
}
#endif
(void)port;
return(ret);
}
@@ -96,18 +142,23 @@
cpuio_if0, cpuio_if2, NULL, NULL,
NULL, NULL, NULL, NULL};
#else
static const IOOUT cpuioof0[8] = {
cpuio_of0, cpuio_of2, NULL, cpuio_of6,
NULL, NULL, NULL, NULL};
static const IOOUT cpuioof0[16] = {
cpuio_of0, cpuio_of1, cpuio_of2, NULL, NULL, NULL, cpuio_of6, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
 
static const IOINP cpuioif0[8] = {
cpuio_if0, cpuio_if2, NULL, cpuio_if6,
NULL, NULL, NULL, NULL};
static const IOINP cpuioif0[16] = {
cpuio_if0, NULL, cpuio_if2, NULL, NULL, NULL, cpuio_if6, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
#endif
//static const IOOUT cpuioof1[1] = {cpuio_of1};
 
void cpuio_bind(void) {
 
iocore_attachsysoutex(0x00f0, 0x0cf1, cpuioof0, 8);
iocore_attachsysinpex(0x00f0, 0x0cf1, cpuioif0, 8);
#if !defined(CPUCORE_IA32)
iocore_attachsysoutex(0x00f0, 0x0cf1, cpuioof0, 16);
iocore_attachsysinpex(0x00f0, 0x0cf1, cpuioif0, 16);
#else
iocore_attachsysoutex(0x00f0, 0x0cf0, cpuioof0, 16);
iocore_attachsysinpex(0x00f0, 0x0cf0, cpuioif0, 16);
#endif
}
 
/np21/io/serial.c
@@ -24,7 +24,7 @@
keybrd.data = keybrd.buf[keybrd.bufpos];
keybrd.bufpos = (keybrd.bufpos + 1) & KB_BUFMASK;
}
// TRACEOUT(("recv -> %02x", keybrd.data));
//TRACEOUT(("recv -> %02x", keybrd.data));
}
pic_setirq(1);
nevent_set(NEVENT_KEYBOARD, keybrd.xferclock,
@@ -34,9 +34,10 @@
}
 
static void IOOUTCALL keyboard_o41(UINT port, REG8 dat) {
 
//TRACEOUT(("out41 -> %02x %.4x:%.8x PM=%d", dat, CPU_CS, CPU_EIP, CPU_STAT_PM));
if (keybrd.cmd & 1) {
// TRACEOUT(("send -> %02x", dat));
//TRACEOUT(("send -> %02x", dat));
keystat_ctrlsend(dat);
}
else {
@@ -47,10 +48,13 @@
 
static void IOOUTCALL keyboard_o43(UINT port, REG8 dat) {
 
// TRACEOUT(("out43 -> %02x %.4x:%.8x", dat, CPU_CS, CPU_EIP));
//TRACEOUT(("out43 -> %02x %.4x:%.8x PM=%d", dat, CPU_CS, CPU_EIP, CPU_STAT_PM));
if ((!(dat & 0x08)) && (keybrd.cmd & 0x08)) {
keyboard_resetsignal();
}
if ((!(dat & 0x30)) && (keybrd.cmd & 0x30)) {
keyboard_resetsignal();
}
if (dat & 0x10) {
keybrd.status &= ~(0x38);
}
@@ -63,18 +67,42 @@
(void)port;
keybrd.status &= ~2;
pic_resetirq(1);
// TRACEOUT(("in41 -> %02x %.4x:%.8x", keybrd.data, CPU_CS, CPU_EIP));
//TRACEOUT(("in41 -> %02x %.4x:%.8x PM=%d", keybrd.data, CPU_CS, CPU_EIP, CPU_STAT_PM));
return(keybrd.data);
}
 
static REG8 IOINPCALL keyboard_i43(UINT port) {
 
(void)port;
// TRACEOUT(("in43 -> %02x %.4x:%.8x", keybrd.status, CPU_CS, CPU_EIP));
//TRACEOUT(("in43 -> %02x %.4x:%.8x PM=%d", keybrd.status, CPU_CS, CPU_EIP, CPU_STAT_PM));
return(keybrd.status | 0x85);
}
 
 
 
 
static void IOOUTCALL keyboard_oE1(UINT port, REG8 dat) {
keyboard_o41(port, dat);
TRACEOUT(("outE0 -> %02x %.4x:%.8x", dat, CPU_CS, CPU_EIP));
}
static void IOOUTCALL keyboard_oE3(UINT port, REG8 dat) {
keyboard_o43(port, dat);
TRACEOUT(("outE1 -> %02x %.4x:%.8x", dat, CPU_CS, CPU_EIP));
}
static REG8 IOINPCALL keyboard_iE1(UINT port) {
static REG8 tmp = 0;
TRACEOUT(("inE1 -> %02x %.4x:%.8x", keybrd.data, CPU_CS, CPU_EIP));
tmp++;
return tmp;//keyboard_i41(port);
}
static REG8 IOINPCALL keyboard_iE3(UINT port) {
static REG8 tmp = 0;
TRACEOUT(("inE3 -> %02x %.4x:%.8x", keybrd.status, CPU_CS, CPU_EIP));
tmp++;
return tmp;//keyboard_i43(port);
}
 
 
// ----
 
static const IOOUT keybrdo41[2] = {
@@ -83,7 +111,14 @@
static const IOINP keybrdi41[2] = {
keyboard_i41, keyboard_i43};
 
static const IOOUT keybrdoE1[2] = {
keyboard_oE1, keyboard_oE3};
 
static const IOINP keybrdiE1[2] = {
keyboard_iE1, keyboard_iE3};
 
 
void keyboard_reset(const NP2CFG *pConfig) {
 
ZeroMemory(&keybrd, sizeof(keybrd));
@@ -97,8 +132,10 @@
 
keystat_ctrlreset();
keybrd.xferclock = pccore.realclock / 1920;
iocore_attachsysoutex(0x0041, 0x0cf1, keybrdo41, 2);
iocore_attachsysinpex(0x0041, 0x0cf1, keybrdi41, 2);
iocore_attachsysoutex(0x0041, 0x00f1, keybrdo41, 2);
iocore_attachsysinpex(0x0041, 0x00f1, keybrdi41, 2);
//iocore_attachsysoutex(0x00E1, 0x0cf1, keybrdoE1, 2);
//iocore_attachsysinpex(0x00E1, 0x0cf1, keybrdiE1, 2);
}
 
void keyboard_resetsignal(void) {
/np21/io/iocore.c
@@ -6,6 +6,7 @@
#include "sound.h"
#include "fmboard.h"
#include "ideio.h"
#include "network/lgy98.h"
#include "cs4231io.h"
#include "iocore16.tbl"
 
@@ -62,7 +63,37 @@
static _IOCORE iocore;
static UINT8 ioterminate[0x100];
 
static REG8 PnP_initialized = 0;
static REG8 PnP_RegAddr = 0x00;
static UINT PnP_RD_Port = 0x0000;
 
static REG8 PnP_RegisterBuf[256][256] = {0};
static REG8 PnP_RegisterBufCSUM[256] = {0};
static REG8 PnP_RegisterBufIsoFlg = 0;
static REG8 PnP_RegisterBufSendPos = 0;
 
extern UINT lgy98_baseaddr;
 
void PnP_init(){
int i, j;
for(i=0;i<256;i++){
PnP_RegisterBuf[i][0x00] = i;
PnP_RegisterBuf[i][0x01] = i;
PnP_RegisterBufCSUM[i] = 0;
for(j=0;j<8;j++){
if((PnP_RegisterBuf[i][0x01]>>j)&0x1) PnP_RegisterBufCSUM[i]++;
}
}
}
int PnP_findRegAddrFromPort(UINT port){
REG8 ptmp = port >> 2;
int i;
for(i=0;i<256;i++){
if(PnP_RegisterBuf[i][0x00]==ptmp) return i;
}
return -1;
}
 
// ----
 
static void IOOUTCALL defout8(UINT port, REG8 dat) {
@@ -85,10 +116,54 @@
dipsw_w8(port, dat);
return;
}
// TRACEOUT(("defout8 - %x %x %.4x %.4x", port, dat, CPU_CS, CPU_IP));
//keytmp = (port & 0xfcff);
//if (0xE0 <= keytmp && keytmp <= 0xEE) {
// //TRACEOUT(("out%X - %02X %.4x %.4x", port&0xff, dat, CPU_CS, CPU_IP));
// //dipsw_w8(port, dat);
// //keytmp = keytmp ^ 0xff;
// return;
//}
//if ((port & 0xffff) == 0x0259) {
// //TRACEOUT(("PnP 0259h Register Address = %02X %.4x %.4x", dat, CPU_CS, CPU_IP));
// /*if(!PnP_initialized){
// PnP_init();
// PnP_initialized = 1;
// }
// PnP_RegAddr = dat;
// switch(PnP_RegAddr){
// case 0x01:
// PnP_RegisterBufIsoFlg = 0;
// PnP_RegisterBufSendPos = 0;
// break;
// }*/
// //dipsw_w8(port, dat);
// return;
//}
//if ((port & 0xffff) == 0x0A59) {
// //TRACEOUT(("PnP 0A59h Register Write Data - %x %.4x %.4x", dat, CPU_CS, CPU_IP));
// /*switch(PnP_RegAddr){
// case 0x00:
// PnP_RegisterBuf[dat][0x00] = dat;
// PnP_RD_Port = (PnP_RegisterBuf[dat][0x00] << 2) | 0x3;
// break;
// case 0x02:
// PnP_RegisterBufSendPos = 0;
// PnP_RegisterBufIsoFlg = 0;
// break;
// default:
// PnP_RegisterBuf[dat][PnP_RegAddr] = dat;
// break;
// }*/
// //dipsw_w8(port, dat);
// return;
//}
//if ((port&0xfff0) != 0x0140) {
// TRACEOUT(("defout8 - %x %x %.4x %.4x", port, dat, CPU_CS, CPU_IP));
//}
}
 
static REG8 IOINPCALL definp8(UINT port) {
//static UINT keytmp = 0xff;
 
#if !defined(DISABLE_SOUND)
UINT tmp;
@@ -105,7 +180,44 @@
if ((port & 0xf0ff) == 0x801e) {
return(dipsw_r8(port));
}
// TRACEOUT(("definp8 - %x %.4x %.4x", port, CPU_CS, CPU_IP));
//keytmp = (port & 0xfcff);
//if (0xE0 <= keytmp && keytmp <= 0xEE) {
// //TRACEOUT(("in%X - %.4x %.4x", port&0xff, CPU_CS, CPU_IP));
// //dipsw_w8(port, dat);
// //keytmp = keytmp ^ 0xff;
// return(0xff);
//}
//if (PnP_RD_Port!=0 && port==PnP_RD_Port) {
// int regport;
// //TRACEOUT(("PnP %04X Register Read Data - %.4x %.4x", port, CPU_CS, CPU_IP));
// /*regport = PnP_findRegAddrFromPort(port);
// if(regport>=0){
// REG8 ret = 0x00;
// switch(PnP_RegAddr){
// case 0x01: // Serial Isolation
// if(!PnP_RegisterBufIsoFlg){
// ret = 0x55;
// }else{
// if(PnP_RegisterBufSendPos & 0x8){
// ret = ((7-(PnP_RegisterBufSendPos & 0x7)) <= PnP_RegisterBufCSUM[regport]) ? 0xAA : 0x00;
// PnP_RegisterBufSendPos = (PnP_RegisterBufSendPos+1) & 0xf;
// }else{
// ret = ((PnP_RegisterBuf[regport][0x01] >> PnP_RegisterBufSendPos) & 0x1) ? 0xAA : 0x00;
// PnP_RegisterBufSendPos = (PnP_RegisterBufSendPos+1) & 0xf;
// }
// }
// PnP_RegisterBufIsoFlg = !PnP_RegisterBufIsoFlg;
// return(ret);
// default:
// return(PnP_RegisterBuf[regport][PnP_RegAddr]);
// }
// }else{*/
// return(0xff);
// //}
//}
//if ((port&0xfff0) != 0x0140) {
// TRACEOUT(("definp8 - %x %.4x %.4x", port, CPU_CS, CPU_IP));
//}
return(0xff);
}
 
@@ -545,6 +657,16 @@
return;
}
#endif
#if defined(SUPPORT_LGY98)
if (port == lgy98_baseaddr + 0x200) {
lgy98_ob200_16(port, dat);
return;
}
//if (port == lgy98_baseaddr + 0x201) {
// lgy98_ob200_8(port, dat);
// return;
//}
#endif
if ((port & 0xfff1) == 0x04a0) {
egc_w16(port, dat);
return;
@@ -581,6 +703,14 @@
return(ideio_r16(port));
}
#endif
#if defined(SUPPORT_LGY98)
if (port == lgy98_baseaddr + 0x200) {
return(lgy98_ib200_16(port));
}
//if (port == lgy98_baseaddr + 0x201) {
// return(lgy98_ib200_8(port));
//}
#endif
if ((port & 0xfffc) == 0x005c) {
return(artic_r16(port));
}
/np21/io/fdc.c
@@ -434,7 +434,7 @@
fdc.buf[1] = fdc.treg[fdc.us];
fdc.bufcnt = 2;
fdc.stat[fdc.us] = 0;
// TRACEOUT(("fdc stat - %d [%.2x]", fdc.us, fdc.buf[0]));
// //TRACEOUT(("fdc stat - %d [%.2x]", fdc.us, fdc.buf[0]));
}
else {
for (; i<4; i++) {
@@ -443,7 +443,7 @@
fdc.buf[1] = fdc.treg[i];
fdc.bufcnt = 2;
fdc.stat[i] = 0;
// TRACEOUT(("fdc stat - %d [%.2x]", i, fdc.buf[0]));
// //TRACEOUT(("fdc stat - %d [%.2x]", i, fdc.buf[0]));
break;
}
}
@@ -712,7 +712,7 @@
 
static void IOOUTCALL fdc_o92(UINT port, REG8 dat) {
 
// TRACEOUT(("fdc out %.2x %.2x [%.4x:%.4x]", port, dat, CPU_CS, CPU_IP));
//TRACEOUT(("fdc out %.2x %.2x [%.4x:%.4x]", port, dat, CPU_CS, CPU_IP));
 
if (((port >> 4) ^ fdc.chgreg) & 1) {
return;
@@ -724,7 +724,7 @@
 
static void IOOUTCALL fdc_o94(UINT port, REG8 dat) {
 
// TRACEOUT(("fdc out %.2x %.2x [%.4x:%.4x]", port, dat, CPU_CS, CPU_IP));
//TRACEOUT(("fdc out %.2x %.2x [%.4x:%.4x]", port, dat, CPU_CS, CPU_IP));
 
if (((port >> 4) ^ fdc.chgreg) & 1) {
return;
@@ -738,14 +738,16 @@
}
 
static REG8 IOINPCALL fdc_i90(UINT port) {
int ret;
 
// TRACEOUT(("fdc in %.2x %.2x [%.4x:%.4x]", port, fdc.status,
// CPU_CS, CPU_IP));
//TRACEOUT(("fdc in %.2x %.2x [%.4x:%.4x]", port, fdc.status, CPU_CS, CPU_IP));
 
if (((port >> 4) ^ fdc.chgreg) & 1) {
return(0xff);
}
return(fdc.status);
ret = fdc.status;
//fdc.status = fdc.status ^ 0xf;
return(ret);
}
 
static REG8 IOINPCALL fdc_i92(UINT port) {
@@ -762,7 +764,7 @@
else {
ret = fdc.lastdata;
}
// TRACEOUT(("fdc in %.2x %.2x [%.4x:%.4x]", port, ret, CPU_CS, CPU_IP));
////TRACEOUT(("fdc in %.2x %.2x [%.4x:%.4x]", port, ret, CPU_CS, CPU_IP));
return(ret);
}
 
@@ -789,7 +791,8 @@
{
ret |= 0x08; /* ŠO•t‚¯—Dæ */
}
 
//TRACEOUT(("fdc in %.2x %.2x [%.4x:%.4x]", port, ret, CPU_CS, CPU_IP));
return ret;
}
 
@@ -803,11 +806,12 @@
else {
CTRL_FDMEDIA = DISKTYPE_2DD;
}
//TRACEOUT(("fdc out %.2x %.2x [%.4x:%.4x]", port, dat, CPU_CS, CPU_IP));
(void)port;
}
 
static REG8 IOINPCALL fdc_ibe(UINT port) {
 
//TRACEOUT(("fdc in %.2x %.2x [%.4x:%.4x]", port, (fdc.chgreg & 3) | 8, CPU_CS, CPU_IP));
(void)port;
return((fdc.chgreg & 3) | 8);
}
@@ -818,11 +822,12 @@
if (dat & 0x10) {
fdc.rpm[(dat >> 5) & 3] = dat & 1;
}
//TRACEOUT(("fdc out %.2x %.2x [%.4x:%.4x]", port, dat, CPU_CS, CPU_IP));
(void)port;
}
 
static REG8 IOINPCALL fdc_i4be(UINT port) {
 
//TRACEOUT(("fdc in %.2x %.2x [%.4x:%.4x]", port, fdc.rpm[(fdc.reg144 >> 5) & 3] | 0xf0, CPU_CS, CPU_IP));
(void)port;
return(fdc.rpm[(fdc.reg144 >> 5) & 3] | 0xf0);
}
/np21/io/pit.c
@@ -46,7 +46,7 @@
setsystimerevent(pitch->value, NEVENT_RELATIVE);
}
else {
setsystimerevent(0, NEVENT_RELATIVE);
setsystimerevent(1, NEVENT_RELATIVE);
}
}
}
@@ -248,12 +248,14 @@
flag = pitch->flag;
pitch->flag = flag ^ PIT_FLAG_W;
if (!(flag & PIT_FLAG_W)) {
pitch->value &= 0xff00;
pitch->value += value;
//pitch->value &= 0xff00;
//pitch->value += value;
pitch->value = (pitch->value & 0xff00) | (value);
return(TRUE);
}
pitch->value &= 0x00ff;
pitch->value += value << 8;
pitch->value = (pitch->value & 0x00ff) | (value << 8);
//pitch->value &= 0x00ff;
//pitch->value += value << 8;
break;
}
pitch->ctrl &= ~PIT_STAT_CMD;
@@ -387,7 +389,7 @@
}
#if defined(uPD71054)
else {
TRACEOUT(("multiple latch commands - %x", dat));
//TRACEOUT(("multiple latch commands - %x", dat));
for (chnum=0; chnum<3; chnum++) {
if (dat & (2 << chnum)) {
latchcmd(pit.ch + chnum, dat);
/np21/calendar.c
@@ -7,7 +7,6 @@
 
_CALENDAR cal;
 
 
static const UINT8 days[12] = { 31, 28, 31, 30, 31, 30,
31, 31, 30, 31, 30, 31};
 
/np21/bios/sxsibios.c
@@ -15,10 +15,10 @@
 
typedef REG8 (*SXSIFUNC)(UINT type, SXSIDEV sxsi);
 
static REG8 sxsi_pos(UINT type, SXSIDEV sxsi, long *ppos) {
static REG8 sxsi_pos(UINT type, SXSIDEV sxsi, FILEPOS *ppos) {
 
REG8 ret;
long pos;
FILEPOS pos;
 
ret = 0;
pos = 0;
@@ -52,7 +52,7 @@
 
REG8 ret;
UINT size;
long pos;
FILEPOS pos;
UINT32 addr;
UINT r;
UINT8 work[1024];
@@ -83,7 +83,7 @@
 
REG8 ret;
UINT size;
long pos;
FILEPOS pos;
UINT32 addr;
UINT r;
UINT8 work[1024];
@@ -113,16 +113,16 @@
static REG8 sxsibios_format(UINT type, SXSIDEV sxsi) {
 
REG8 ret;
long pos;
FILEPOS pos;
 
if (CPU_AH & 0x80) {
if (type == SXSIBIOS_SCSI) { // ‚Æ‚è‚ ‚¦‚¸SCSI‚Ì‚Ý
UINT count;
long posmax;
FILEPOS posmax;
count = timing_getcount(); // ŽžŠÔ‚ðŽ~‚ß‚é
ret = 0;
pos = 0;
posmax = sxsi->surfaces * sxsi->cylinders;
posmax = (FILEPOS)sxsi->surfaces * sxsi->cylinders;
while(pos < posmax) {
ret = sxsi_format(CPU_AL, pos * sxsi->sectors);
if (ret) {
/np21/bios/bios18.c
@@ -785,6 +785,7 @@
CPU_REMCLOCK = -1;
break;
}
//TRACEOUT(("int18 KEYREAD"));
break;
 
case 0x01: // ƒL[Eƒoƒbƒtƒ@ó‘Ԃ̃Zƒ“ƒX
@@ -796,21 +797,26 @@
else {
CPU_BH = 0;
}
//TRACEOUT(("int18 KEYBUF"));
break;
 
case 0x02: // ƒVƒtƒgEƒL[ó‘Ԃ̃Zƒ“ƒX
//TRACEOUT(("int18 KEY"));
CPU_AL = mem[MEMB_SHIFT_STS];
break;
 
case 0x03: // ƒL[ƒ{[ƒhEƒCƒ“ƒ^ƒtƒFƒCƒX‚̏‰Šú‰»
//TRACEOUT(("int18 KEYINIT"));
bios0x09_init();
break;
 
case 0x04: // ƒL[“ü—͏ó‘Ԃ̃Zƒ“ƒX
//TRACEOUT(("int18 KEY"));
CPU_AH = mem[MEMX_KB_KY_STS + (CPU_AL & 0x0f)];
break;
 
case 0x05: // ƒL[“ü—̓Zƒ“ƒX
//TRACEOUT(("int18 KEY"));
if (mem[MEMB_KB_COUNT]) {
CPU_AX = keyget();
CPU_BH = 1;
/np21/bios/bios1b.c
@@ -957,6 +957,15 @@
ret_ah = scsibios_operate();
break;
#endif
case 0xd0:
ret_ah = 0x40;
TRACEOUT(("IDE BIOS!!!"));
break;
case 0xe0:
ret_ah = 0x40;
TRACEOUT(("IDE BIOS!!!"));
break;
 
default:
ret_ah = 0x40;
/np21/bios/bios.c
@@ -260,16 +260,33 @@
}
 
#if defined(SUPPORT_PC9821)
getbiospath(path, OEMTEXT("bios9821.rom"), sizeof(path));
//getbiospath(path, OEMTEXT("bios9821.rom"), sizeof(path));
//fh = file_open_rb(path);
//if (fh != FILEH_INVALID) {
// if (file_read(fh, mem + 0x0d8000, 0x10000) == 0x10000) {
// // IDE BIOS‚ð’ׂ·
// TRACEOUT(("load bios9821.rom"));
// STOREINTELWORD(mem + 0x0d8009, 0);
// }
// file_close(fh);
//}
getbiospath(path, OEMTEXT("pc98bank3.bin"), sizeof(path));
fh = file_open_rb(path);
if (fh != FILEH_INVALID) {
if (file_read(fh, mem + 0x0d8000, 0x2000) == 0x2000) {
if (file_read(fh, mem + 0x0d8000, 0x8000) == 0x8000) {
// IDE BIOS‚ð’ׂ·
TRACEOUT(("load bios9821.rom"));
TRACEOUT(("load pc98bank3.bin"));
STOREINTELWORD(mem + 0x0d8009, 0);
}
file_close(fh);
}
/*getbiospath(path, OEMTEXT("b0.rom"), sizeof(path));
fh = file_open_rb(path);
if (fh != FILEH_INVALID) {
if (file_read(fh, mem + 0x0c0000, 0x18000) == 0x18000) {
}
file_close(fh);
}*/
#if defined(BIOS_SIMULATE)
mem[0xf8e80] = 0x98;
mem[0xf8e81] = 0x21;
@@ -278,16 +295,22 @@
mem[0xf8e84] = 0x2c;
mem[0xf8e85] = 0xb0;
 
// mem[0xf8eaf] = 0x21; // <- ‚±‚ê‚Á‚ĉ½‚¾‚Á‚¯H
//mem[0xf8eaf] = 0x21; // <- ‚±‚ê‚Á‚ĉ½‚¾‚Á‚¯H
#endif
#endif
//fh = file_open_c("itf.rom");
//if (fh != FILEH_INVALID) {
// file_read(fh, mem + ITF_ADRS, 0x8000);
// file_close(fh);
// TRACEOUT(("load itf.rom"));
//}
 
#if defined(BIOS_SIMULATE)
CopyMemory(mem + BIOS_BASE, biosfd80, sizeof(biosfd80));
if (!biosrom) {
lio_initialize();
}
 
for (i=0; i<8; i+=2) {
STOREINTELWORD(mem + 0xfd800 + 0x1aaf + i, 0x1ab7);
STOREINTELWORD(mem + 0xfd800 + 0x1ad7 + i, 0x1adf);
@@ -303,7 +326,7 @@
STOREINTELDWORD(mem + 0xffff1, 0xfd800000);
 
CopyMemory(mem + 0x0fd800 + 0x0e00, keytable[0], 0x300);
 
CopyMemory(mem + ITF_ADRS, itfrom, sizeof(itfrom));
mem[ITF_ADRS + 0x7ff0] = 0xea;
STOREINTELDWORD(mem + ITF_ADRS + 0x7ff1, 0xf8000000);
@@ -366,7 +389,7 @@
return(0);
}
 
// TRACEOUT(("biosfunc(%x)", adrs));
//TRACEOUT(("biosfunc(%x, %x)", adrs, adrs-BIOS_BASE));
#if defined(CPUCORE_IA32) && defined(TRACE)
if (CPU_STAT_PAGING) {
UINT32 pde = MEMP_READ32(CPU_STAT_PDE_BASE);
/np21/fdd/sxsi.c
@@ -21,7 +21,7 @@
return(FAILURE);
}
 
static REG8 nc_read(SXSIDEV sxsi, long pos, UINT8 *buf, UINT size) {
static REG8 nc_read(SXSIDEV sxsi, FILEPOS pos, UINT8 *buf, UINT size) {
 
(void)sxsi;
(void)pos;
@@ -30,7 +30,7 @@
return(0x60);
}
 
static REG8 nc_write(SXSIDEV sxsi, long pos, const UINT8 *buf, UINT size) {
static REG8 nc_write(SXSIDEV sxsi, FILEPOS pos, const UINT8 *buf, UINT size) {
 
(void)sxsi;
(void)pos;
@@ -39,7 +39,7 @@
return(0x60);
}
 
static REG8 nc_format(SXSIDEV sxsi, long pos) {
static REG8 nc_format(SXSIDEV sxsi, FILEPOS pos) {
 
(void)sxsi;
(void)pos;
@@ -227,25 +227,75 @@
}
}
 
// CD“ü‚ê‘Ö‚¦‚̃^ƒCƒ€ƒAƒEƒgi“Š‚°‚â‚èj
char cdchange_flag = 0;
REG8 cdchange_drv;
OEMCHAR cdchange_fname[MAX_PATH];
void cdchange_timeoutproc(NEVENTITEM item) {
cdchange_flag = 0;
sxsi_devopen(cdchange_drv, cdchange_fname);
}
static void cdchange_timeoutset(void) {
 
nevent_setbyms(NEVENT_CDWAIT, 5000, cdchange_timeoutproc, NEVENT_ABSOLUTE);
}
 
 
BRESULT sxsi_devopen(REG8 drv, const OEMCHAR *fname) {
 
SXSIDEV sxsi;
BRESULT r;
 
if ((fname == NULL) || (fname[0] == '\0')) {
goto sxsiope_err;
}
sxsi = sxsi_getptr(drv);
if (sxsi == NULL) {
goto sxsiope_err;
}
switch(sxsi->devtype) {
case SXSIDEV_HDD:
if ((fname == NULL) || (fname[0] == '\0')) {
goto sxsiope_err;
}
r = sxsihdd_open(sxsi, fname);
break;
 
case SXSIDEV_CDROM:
r = sxsicd_open(sxsi, fname);
if (cdchange_flag) {
// CDŒðŠ·’†
return(FAILURE);
}
if ((fname == NULL) || (fname[0] == '\0')) {
int num = drv & 0x0f;
ideio_notify(sxsi->drv, 0);
file_cpyname(sxsi->fname, "\0\0\0\0", 1);
sxsi->flag = 0;
file_cpyname(np2cfg.idecd[num-2], "\0\0\0\0", 1);
sysmng_updatecaption(1);
return(SUCCESS);
}
else {
if(sxsi->flag & SXSIFLAG_READY){
// ‚¢‚Á‚½‚ñŽæ‚èo‚·
ideio_notify(sxsi->drv, 0);
sxsi->flag = 0;
cdchange_drv = drv;
file_cpyname(cdchange_fname, fname, NELEMENTS(cdchange_fname));
cdchange_flag = 1;
cdchange_timeoutset();
return(FAILURE); // XXX: ‚±‚±‚ÅŽ¸”s•Ô‚µ‚Ä‚¦‚¦‚́H
}
r = sxsicd_open(sxsi, fname);
#if defined(SUPPORT_IDEIO)
if (r == SUCCESS) {
int num = drv & 0x0f;
file_cpyname(np2cfg.idecd[num-2], fname, NELEMENTS(cdchange_fname));
sysmng_updatecaption(1);
}else{
int num = drv & 0x0f;
file_cpyname(np2cfg.idecd[num-2], "\0\0\0\0", 1);
sysmng_updatecaption(1);
}
#endif
}
break;
 
default:
@@ -330,7 +380,7 @@
 
 
 
REG8 sxsi_read(REG8 drv, long pos, UINT8 *buf, UINT size) {
REG8 sxsi_read(REG8 drv, FILEPOS pos, UINT8 *buf, UINT size) {
 
SXSIDEV sxsi;
 
@@ -343,7 +393,7 @@
}
}
 
REG8 sxsi_write(REG8 drv, long pos, const UINT8 *buf, UINT size) {
REG8 sxsi_write(REG8 drv, FILEPOS pos, const UINT8 *buf, UINT size) {
 
SXSIDEV sxsi;
 
@@ -356,7 +406,7 @@
}
}
 
REG8 sxsi_format(REG8 drv, long pos) {
REG8 sxsi_format(REG8 drv, FILEPOS pos) {
 
SXSIDEV sxsi;
 
/np21/fdd/sxsi.h
@@ -42,14 +42,14 @@
UINT8 __caps;
 
BRESULT (*reopen)(SXSIDEV sxsi);
REG8 (*read)(SXSIDEV sxsi, long pos, UINT8 *buf, UINT size);
REG8 (*write)(SXSIDEV sxsi, long pos, const UINT8 *buf, UINT size);
REG8 (*format)(SXSIDEV sxsi, long pos);
REG8 (*read)(SXSIDEV sxsi, FILEPOS pos, UINT8 *buf, UINT size);
REG8 (*write)(SXSIDEV sxsi, FILEPOS pos, const UINT8 *buf, UINT size);
REG8 (*format)(SXSIDEV sxsi, FILEPOS pos);
void (*close)(SXSIDEV sxsi);
void (*destroy)(SXSIDEV sxsi);
 
INTPTR hdl;
long totals;
FILELEN totals;
UINT16 cylinders;
UINT16 size;
UINT8 sectors;
@@ -79,9 +79,9 @@
UINT8 sxsi_getdevtype(REG8 drv);
BRESULT sxsi_devopen(REG8 drv, const OEMCHAR *fname);
void sxsi_devclose(REG8 drv);
REG8 sxsi_read(REG8 drv, long pos, UINT8 *buf, UINT size);
REG8 sxsi_write(REG8 drv, long pos, const UINT8 *buf, UINT size);
REG8 sxsi_format(REG8 drv, long pos);
REG8 sxsi_read(REG8 drv, FILEPOS pos, UINT8 *buf, UINT size);
REG8 sxsi_write(REG8 drv, FILEPOS pos, const UINT8 *buf, UINT size);
REG8 sxsi_format(REG8 drv, FILEPOS pos);
 
BOOL sxsi_issasi(void);
BOOL sxsi_isscsi(void);
/np21/fdd/sxsicd.c
@@ -6,6 +6,7 @@
#include "cpucore.h"
#include "pccore.h"
#include "sxsi.h"
#include "ideio.h"
 
 
static const UINT8 cd001[7] = {0x01,'C','D','0','0','1',0x01};
@@ -23,7 +24,7 @@
 
static int issec2048(FILEH fh) {
 
long fpos;
FILEPOS fpos;
UINT8 buf[2048];
UINT secsize;
UINT fsize;
@@ -52,11 +53,11 @@
return(-1);
}
 
static REG8 sec2048_read(SXSIDEV sxsi, long pos, UINT8 *buf, UINT size) {
static REG8 sec2048_read(SXSIDEV sxsi, FILEPOS pos, UINT8 *buf, UINT size) {
 
FILEH fh;
UINT rsize;
 
if (sxsi_prepare(sxsi) != SUCCESS) {
return(0x60);
}
@@ -85,7 +86,7 @@
 
static int issec2352(FILEH fh) {
 
long fpos;
FILEPOS fpos;
UINT8 buf[2048];
UINT secsize;
UINT fsize;
@@ -114,10 +115,10 @@
return(-1);
}
 
static REG8 sec2352_read(SXSIDEV sxsi, long pos, UINT8 *buf, UINT size) {
static REG8 sec2352_read(SXSIDEV sxsi, FILEPOS pos, UINT8 *buf, UINT size) {
 
FILEH fh;
long fpos;
FILEPOS fpos;
UINT rsize;
 
if (sxsi_prepare(sxsi) != SUCCESS) {
@@ -192,7 +193,7 @@
 
FILEH fh;
UINT type;
int totals;
FILEPOS totals;
CDINFO cdinfo;
UINT mediatype;
UINT i;
@@ -259,6 +260,11 @@
sxsi->surfaces = 1;
sxsi->headersize = 0;
sxsi->mediatype = mediatype;
 
#if defined(SUPPORT_IDEIO)
ideio_notify(sxsi->drv, 1);
#endif
 
return(SUCCESS);
 
sxsiope_err2:
@@ -366,11 +372,11 @@
return(cdinfo->trk);
}
 
BRESULT sxsicd_readraw(SXSIDEV sxsi, long pos, void *buf) {
BRESULT sxsicd_readraw(SXSIDEV sxsi, FILEPOS pos, void *buf) {
 
CDINFO cdinfo;
FILEH fh;
long fpos;
FILEPOS fpos;
 
cdinfo = (CDINFO)sxsi->hdl;
if (cdinfo->type != 2352) {
/np21/fdd/sxsicd.h
@@ -11,13 +11,13 @@
typedef struct {
UINT8 type;
UINT8 track;
UINT32 pos;
FILEPOS pos;
} _CDTRK, *CDTRK;
 
BRESULT sxsicd_open(SXSIDEV sxsi, const OEMCHAR *fname);
 
CDTRK sxsicd_gettrk(SXSIDEV sxsi, UINT *tracks);
BRESULT sxsicd_readraw(SXSIDEV sxsi, long pos, void *buf);
BRESULT sxsicd_readraw(SXSIDEV sxsi, FILEPOS pos, void *buf);
 
#ifdef __cplusplus
}
/np21/fdd/newdisk.c
@@ -35,10 +35,10 @@
 
// ---- hdd
 
static BRESULT writezero(FILEH fh, UINT size) {
static BRESULT writezero(FILEH fh, FILELEN size) {
 
UINT8 work[256];
UINT wsize;
FILELEN wsize;
 
ZeroMemory(work, sizeof(work));
while(size) {
@@ -51,10 +51,10 @@
return(SUCCESS);
}
 
static BRESULT writehddipl(FILEH fh, UINT ssize, UINT32 tsize) {
static BRESULT writehddipl(FILEH fh, UINT ssize, FILELEN tsize) {
 
UINT8 work[1024];
UINT size;
UINT8 work[16384];
FILELEN size;
 
ZeroMemory(work, sizeof(work));
CopyMemory(work, hdddiskboot, sizeof(hdddiskboot));
@@ -106,15 +106,48 @@
ndthd_err:
return;
}
//
//void newdisk_nhd(const OEMCHAR *fname, UINT hddsize) {
//
// FILEH fh;
// NHDHDR nhd;
// UINT size;
// BRESULT r;
//
// if ((fname == NULL) || (hddsize < 5) || (hddsize > 4000)) {
// goto ndnhd_err;
// }
// fh = file_create(fname);
// if (fh == FILEH_INVALID) {
// goto ndnhd_err;
// }
// ZeroMemory(&nhd, sizeof(nhd));
// CopyMemory(&nhd.sig, sig_nhd, 15);
// STOREINTELDWORD(nhd.headersize, sizeof(nhd));
// size = hddsize * 15;
// STOREINTELDWORD(nhd.cylinders, size);
// STOREINTELWORD(nhd.surfaces, 8);
// STOREINTELWORD(nhd.sectors, 17);
// STOREINTELWORD(nhd.sectorsize, 512);
// r = (file_write(fh, &nhd, sizeof(nhd)) == sizeof(nhd)) ? SUCCESS : FAILURE;
// r |= writehddipl(fh, 512, size * 8 * 17 * 512);
// file_close(fh);
// if (r != SUCCESS) {
// file_delete(fname);
// }
//
//ndnhd_err:
// return;
//}
 
void newdisk_nhd(const OEMCHAR *fname, UINT hddsize) {
 
FILEH fh;
NHDHDR nhd;
UINT size;
FILELEN size;
BRESULT r;
 
if ((fname == NULL) || (hddsize < 5) || (hddsize > 512)) {
if ((fname == NULL) || (hddsize < 5) || (hddsize > NHD_MAXSIZE)) {
goto ndnhd_err;
}
fh = file_create(fname);
@@ -124,13 +157,32 @@
ZeroMemory(&nhd, sizeof(nhd));
CopyMemory(&nhd.sig, sig_nhd, 15);
STOREINTELDWORD(nhd.headersize, sizeof(nhd));
#ifdef SUPPORT_LARGE_HDD
if(hddsize <= 4096){
size = hddsize * 15;
STOREINTELDWORD(nhd.cylinders, size);
STOREINTELWORD(nhd.surfaces, 8);
STOREINTELWORD(nhd.sectors, 17);
STOREINTELWORD(nhd.sectorsize, 512);
r = (file_write(fh, &nhd, sizeof(nhd)) == sizeof(nhd)) ? SUCCESS : FAILURE;
r |= writehddipl(fh, 512, size * 8 * 17 * 512);
}else{
size = hddsize * 15 * 17 / 2 / 63;
STOREINTELDWORD(nhd.cylinders, size);
STOREINTELWORD(nhd.surfaces, 16);
STOREINTELWORD(nhd.sectors, 63);
STOREINTELWORD(nhd.sectorsize, 512);
r = (file_write(fh, &nhd, sizeof(nhd)) == sizeof(nhd)) ? SUCCESS : FAILURE;
r |= writehddipl(fh, 512, (UINT64)size * 16 * 63 * 512);
}
#else
size = hddsize * 15;
STOREINTELDWORD(nhd.cylinders, size);
STOREINTELWORD(nhd.surfaces, 8);
STOREINTELWORD(nhd.sectors, 17);
STOREINTELWORD(nhd.sectorsize, 512);
r = (file_write(fh, &nhd, sizeof(nhd)) == sizeof(nhd)) ? SUCCESS : FAILURE;
r |= writehddipl(fh, 512, size * 8 * 17 * 512);
#endif
file_close(fh);
if (r != SUCCESS) {
file_delete(fname);
/np21/fdd/sxsihdd.c
@@ -35,10 +35,10 @@
}
}
 
static REG8 hdd_read(SXSIDEV sxsi, long pos, UINT8 *buf, UINT size) {
static REG8 hdd_read(SXSIDEV sxsi, FILEPOS pos, UINT8 *buf, UINT size) {
 
FILEH fh;
long r;
FILEPOS r;
UINT rsize;
 
if (sxsi_prepare(sxsi) != SUCCESS) {
@@ -65,10 +65,10 @@
return(0x00);
}
 
static REG8 hdd_write(SXSIDEV sxsi, long pos, const UINT8 *buf, UINT size) {
static REG8 hdd_write(SXSIDEV sxsi, FILEPOS pos, const UINT8 *buf, UINT size) {
 
FILEH fh;
long r;
FILEPOS r;
UINT wsize;
 
if (sxsi_prepare(sxsi) != SUCCESS) {
@@ -95,10 +95,10 @@
return(0x00);
}
 
static REG8 hdd_format(SXSIDEV sxsi, long pos) {
static REG8 hdd_format(SXSIDEV sxsi, FILEPOS pos) {
 
FILEH fh;
long r;
FILEPOS r;
UINT16 i;
UINT8 work[256];
UINT size;
@@ -163,7 +163,7 @@
FILEH fh;
const OEMCHAR *ext;
REG8 iftype;
long totals;
FILEPOS totals;
UINT32 headersize;
UINT32 surfaces;
UINT32 cylinders;
@@ -199,7 +199,7 @@
cylinders = LOADINTELDWORD(nhd.cylinders);
sectors = LOADINTELWORD(nhd.sectors);
size = LOADINTELWORD(nhd.sectorsize);
totals = cylinders * sectors * surfaces;
totals = (FILEPOS)cylinders * sectors * surfaces;
}
else if ((iftype == SXSIDRV_SASI) && (!file_cmpname(ext, str_hdi))) {
HDIHDR hdi; // ANEX86 HDD (SASI) thanx Mamiya
/np21/fdd/diskdrv.c
@@ -90,7 +90,10 @@
if (sxsi_devopen(drv, np2cfg.sasihdd[i]) == SUCCESS) {
drv++;
}
else {
else if(np2cfg.sasihdd[i]!=NULL && np2cfg.sasihdd[i][0]!='\0'){
char buf[2048];
vsnprintf(buf, sizeof(buf), "Cannot open file %s", np2cfg.sasihdd[i]);
msgbox("HDD file open error", buf);
sxsi_setdevtype(drv, SXSIDEV_NC);
}
}
/np21/keystat.c
@@ -199,6 +199,7 @@
 
if (!keyctrl.reqparam) {
keyctrl.mode = dat;
//TRACEOUT(("kbdat %02X", dat));
switch(dat) {
#if defined(SUPPORT_PC9801_119)
case 0x95:
@@ -213,10 +214,13 @@
case 0x96:
keyboard_ctrl(0xfa);
keyboard_ctrl(0xa0);
keyboard_ctrl(0x83);
keyboard_ctrl(0x85);
break;
#endif
 
case 0x99:
keyboard_ctrl(0xfa);
keyboard_ctrl(0xfb);
break;
case 0x9f:
keyboard_ctrl(0xfa);
keyboard_ctrl(0xa0);
@@ -224,6 +228,7 @@
break;
 
default:
//TRACEOUT(("kbdat %02X", dat));
keyboard_ctrl(0xfc);
break;
}
/np21/trap/inttrap.c
@@ -12,6 +12,13 @@
void CPUCALL softinttrap(UINT cs, UINT32 eip, UINT vect) {
 
// ---- ‚±‚±‚Ƀgƒ‰ƒbƒvðŒƒR[ƒh‚ð‘‚«‚Ü‚·
#if 0
if (vect == 0x10) {
TRACEOUT(("%.4x:%.4x INT-10 PM=%02X AH=%.2x STACK=%.4x", CPU_STAT_PM, cs, eip,
CPU_AH, MEMR_READ16(CPU_SS, CPU_SP + 2)));
}
#endif
#if 0
if (vect == 0x7f) {
switch(CPU_AH) {
case 0:
@@ -45,6 +52,7 @@
TRACEOUT(("%.4x:%.4x INT-51 AX=%.4x BX=%.4x DX=%.4x", cs, eip, CPU_AX, CPU_BX, CPU_DX));
}
return;
#endif
 
#if 0
// if (vect == 0x2f) {
@@ -169,7 +177,7 @@
TRACEOUT(("INT 40H - AL=%.2x", CPU_AL));
}
#endif
#if 1
#if 0
if (vect == 0x21) {
char f[128];
UINT i;
@@ -236,7 +244,7 @@
}
}
#endif
#if defined(TRACE)
#if 0
if (vect == 0x7f) {
UINT i, j;
switch(CPU_AH) {
/np21/trap/steptrap.c
@@ -34,6 +34,7 @@
 
 
// ---- ‚±‚±‚Ƀgƒ‰ƒbƒvðŒƒR[ƒh‚ð‘‚«‚Ü‚·
#if 0
{
static UINT32 x;
UINT32 tmp;
@@ -61,7 +62,8 @@
if (cs == 0x0d77) TRACEOUT(("%.4x:%.4x", cs, eip));
if (cs == 0x0f5d) TRACEOUT(("%.4x:%.4x", cs, eip));
if (cs == 0x0e91) TRACEOUT(("%.4x:%.4x", cs, eip));
 
#endif
#if 0
{
static UINT tmp = 0;
@@ -83,7 +85,7 @@
}
if (cs == 0xdf6) TRACEOUT(("%.4x:%.4x", CPU_CS, CPU_IP));
#endif
#if 1
#if 0
if ((cs == 0x0620) && (eip == 0x1E97)) {
TRACEOUT(("-------- NECCD: function: %.2x", CPU_AL));
}
New file
/np21/x11/missing
@@ -0,0 +1,215 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
 
scriptversion=2013-10-28.13; # UTC
 
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
 
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
 
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
 
if test $# -eq 0; then
echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
 
case $1 in
 
--is-lightweight)
# Used by our autoconf macros to check whether the available missing
# script is modern enough.
exit 0
;;
 
--run)
# Back-compat with the calling convention used by older automake.
shift
;;
 
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
 
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
to PROGRAM being missing or too old.
 
Options:
-h, --help display this help and exit
-v, --version output version information and exit
 
Supported PROGRAM values:
aclocal autoconf autoheader autom4te automake makeinfo
bison yacc flex lex help2man
 
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
 
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
 
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
 
-*)
echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
 
esac
 
# Run the given program, remember its exit status.
"$@"; st=$?
 
# If it succeeded, we are done.
test $st -eq 0 && exit 0
 
# Also exit now if we it failed (or wasn't found), and '--version' was
# passed; such an option is passed most likely to detect whether the
# program is present and works.
case $2 in --version|--help) exit $st;; esac
 
# Exit code 63 means version mismatch. This often happens when the user
# tries to use an ancient version of a tool on a file that requires a
# minimum version.
if test $st -eq 63; then
msg="probably too old"
elif test $st -eq 127; then
# Program was missing.
msg="missing on your system"
else
# Program was found and executed, but failed. Give up.
exit $st
fi
 
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
 
program_details ()
{
case $1 in
aclocal|automake)
echo "The '$1' program is part of the GNU Automake package:"
echo "<$gnu_software_URL/automake>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/autoconf>"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
autoconf|autom4te|autoheader)
echo "The '$1' program is part of the GNU Autoconf package:"
echo "<$gnu_software_URL/autoconf/>"
echo "It also requires GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
esac
}
 
give_advice ()
{
# Normalize program name to check for.
normalized_program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
 
printf '%s\n' "'$1' is $msg."
 
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
case $normalized_program in
autoconf*)
echo "You should only need it if you modified 'configure.ac',"
echo "or m4 files included by it."
program_details 'autoconf'
;;
autoheader*)
echo "You should only need it if you modified 'acconfig.h' or"
echo "$configure_deps."
program_details 'autoheader'
;;
automake*)
echo "You should only need it if you modified 'Makefile.am' or"
echo "$configure_deps."
program_details 'automake'
;;
aclocal*)
echo "You should only need it if you modified 'acinclude.m4' or"
echo "$configure_deps."
program_details 'aclocal'
;;
autom4te*)
echo "You might have modified some maintainer files that require"
echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
echo "You should only need it if you modified a '.y' file."
echo "You may want to install the GNU Bison package:"
echo "<$gnu_software_URL/bison/>"
;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
help2man*)
echo "You should only need it if you modified a dependency" \
"of a man page."
echo "You may want to install the GNU Help2man package:"
echo "<$gnu_software_URL/help2man/>"
;;
makeinfo*)
echo "You should only need it if you modified a '.texi' file, or"
echo "any other file indirectly affecting the aspect of the manual."
echo "You might want to install the Texinfo package:"
echo "<$gnu_software_URL/texinfo/>"
echo "The spurious makeinfo call might also be the consequence of"
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
echo "want to install GNU make:"
echo "<$gnu_software_URL/make/>"
;;
*)
echo "You might have modified some files without having the proper"
echo "tools for further handling them. Check the 'README' file, it"
echo "often tells you about the needed prerequisites for installing"
echo "this package. You may also peek at any GNU archive site, in"
echo "case some other package contains this missing '$1' program."
;;
esac
}
 
give_advice "$1" | sed -e '1s/^/WARNING: /' \
-e '2,$s/^/ /' >&2
 
# Propagate the correct exit status (expected to be 127 for a program
# not found, 63 for a program that failed due to version mismatch).
exit $st
 
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
New file
/np21/x11/aclocal.m4
@@ -0,0 +1,2150 @@
# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
 
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
[m4_warning([this file was generated for autoconf 2.69.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
# ===========================================================================
# http://www.gnu.org/software/autoconf-archive/ax_pthread.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
#
# DESCRIPTION
#
# This macro figures out how to build C programs using POSIX threads. It
# sets the PTHREAD_LIBS output variable to the threads library and linker
# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
# flags that are needed. (The user can also force certain compiler
# flags/libs to be tested by setting these environment variables.)
#
# Also sets PTHREAD_CC to any special C compiler that is needed for
# multi-threaded programs (defaults to the value of CC otherwise). (This
# is necessary on AIX to use the special cc_r compiler alias.)
#
# NOTE: You are assumed to not only compile your program with these flags,
# but also link it with them as well. e.g. you should link with
# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
#
# If you are only building threads programs, you may wish to use these
# variables in your default LIBS, CFLAGS, and CC:
#
# LIBS="$PTHREAD_LIBS $LIBS"
# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
# CC="$PTHREAD_CC"
#
# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
#
# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
# PTHREAD_PRIO_INHERIT symbol is defined when compiling with
# PTHREAD_CFLAGS.
#
# ACTION-IF-FOUND is a list of shell commands to run if a threads library
# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
# is not found. If ACTION-IF-FOUND is not specified, the default action
# will define HAVE_PTHREAD.
#
# Please let the authors know if this macro fails on any platform, or if
# you have any other suggestions or comments. This macro was based on work
# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
# Alejandro Forero Cuervo to the autoconf macro repository. We are also
# grateful for the helpful feedback of numerous users.
#
# Updated for Autoconf 2.68 by Daniel Richard G.
#
# LICENSE
#
# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
# scripts that are the output of Autoconf when processing the Macro. You
# need not follow the terms of the GNU General Public License when using
# or distributing such scripts, even though portions of the text of the
# Macro appear in them. The GNU General Public License (GPL) does govern
# all other use of the material that constitutes the Autoconf Macro.
#
# This special exception to the GPL applies to versions of the Autoconf
# Macro released by the Autoconf Archive. When you make and distribute a
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
 
#serial 21
 
AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
AC_DEFUN([AX_PTHREAD], [
AC_REQUIRE([AC_CANONICAL_HOST])
AC_LANG_PUSH([C])
ax_pthread_ok=no
 
# We used to check for pthread.h first, but this fails if pthread.h
# requires special compiler flags (e.g. on True64 or Sequent).
# It gets checked for in the link test anyway.
 
# First of all, check if the user has set any of the PTHREAD_LIBS,
# etcetera environment variables, and if threads linking works using
# them:
if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
save_LIBS="$LIBS"
LIBS="$PTHREAD_LIBS $LIBS"
AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes])
AC_MSG_RESULT([$ax_pthread_ok])
if test x"$ax_pthread_ok" = xno; then
PTHREAD_LIBS=""
PTHREAD_CFLAGS=""
fi
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
fi
 
# We must check for the threads library under a number of different
# names; the ordering is very important because some systems
# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
# libraries is broken (non-POSIX).
 
# Create a list of thread flags to try. Items starting with a "-" are
# C compiler flags, and other items are library names, except for "none"
# which indicates that we try without any flags at all, and "pthread-config"
# which is a program returning the flags for the Pth emulation library.
 
ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
 
# The ordering *is* (sometimes) important. Some notes on the
# individual items follow:
 
# pthreads: AIX (must check this before -lpthread)
# none: in case threads are in libc; should be tried before -Kthread and
# other compiler flags to prevent continual compiler warnings
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
# -pthreads: Solaris/gcc
# -mthreads: Mingw32/gcc, Lynx/gcc
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
# doesn't hurt to check since this sometimes defines pthreads too;
# also defines -D_REENTRANT)
# ... -mt is also the pthreads flag for HP/aCC
# pthread: Linux, etcetera
# --thread-safe: KAI C++
# pthread-config: use pthread-config program (for GNU Pth library)
 
case ${host_os} in
solaris*)
 
# On Solaris (at least, for some versions), libc contains stubbed
# (non-functional) versions of the pthreads routines, so link-based
# tests will erroneously succeed. (We need to link with -pthreads/-mt/
# -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
# a function called by this macro, so we could check for that, but
# who knows whether they'll stub that too in a future libc.) So,
# we'll just look for -pthreads and -lpthread first:
 
ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
;;
 
darwin*)
ax_pthread_flags="-pthread $ax_pthread_flags"
;;
esac
 
# Clang doesn't consider unrecognized options an error unless we specify
# -Werror. We throw in some extra Clang-specific options to ensure that
# this doesn't happen for GCC, which also accepts -Werror.
 
AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags])
save_CFLAGS="$CFLAGS"
ax_pthread_extra_flags="-Werror"
CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])],
[AC_MSG_RESULT([yes])],
[ax_pthread_extra_flags=
AC_MSG_RESULT([no])])
CFLAGS="$save_CFLAGS"
 
if test x"$ax_pthread_ok" = xno; then
for flag in $ax_pthread_flags; do
 
case $flag in
none)
AC_MSG_CHECKING([whether pthreads work without any flags])
;;
 
-*)
AC_MSG_CHECKING([whether pthreads work with $flag])
PTHREAD_CFLAGS="$flag"
;;
 
pthread-config)
AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
if test x"$ax_pthread_config" = xno; then continue; fi
PTHREAD_CFLAGS="`pthread-config --cflags`"
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
;;
 
*)
AC_MSG_CHECKING([for the pthreads library -l$flag])
PTHREAD_LIBS="-l$flag"
;;
esac
 
save_LIBS="$LIBS"
save_CFLAGS="$CFLAGS"
LIBS="$PTHREAD_LIBS $LIBS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags"
 
# Check for various functions. We must include pthread.h,
# since some functions may be macros. (On the Sequent, we
# need a special flag -Kthread to make this header compile.)
# We check for pthread_join because it is in -lpthread on IRIX
# while pthread_create is in libc. We check for pthread_attr_init
# due to DEC craziness with -lpthreads. We check for
# pthread_cleanup_push because it is one of the few pthread
# functions on Solaris that doesn't have a non-functional libc stub.
# We try pthread_create on general principles.
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
static void routine(void *a) { a = 0; }
static void *start_routine(void *a) { return a; }],
[pthread_t th; pthread_attr_t attr;
pthread_create(&th, 0, start_routine, 0);
pthread_join(th, 0);
pthread_attr_init(&attr);
pthread_cleanup_push(routine, 0);
pthread_cleanup_pop(0) /* ; */])],
[ax_pthread_ok=yes],
[])
 
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
 
AC_MSG_RESULT([$ax_pthread_ok])
if test "x$ax_pthread_ok" = xyes; then
break;
fi
 
PTHREAD_LIBS=""
PTHREAD_CFLAGS=""
done
fi
 
# Various other checks:
if test "x$ax_pthread_ok" = xyes; then
save_LIBS="$LIBS"
LIBS="$PTHREAD_LIBS $LIBS"
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
 
# Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
AC_MSG_CHECKING([for joinable pthread attribute])
attr_name=unknown
for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
[int attr = $attr; return attr /* ; */])],
[attr_name=$attr; break],
[])
done
AC_MSG_RESULT([$attr_name])
if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name],
[Define to necessary symbol if this constant
uses a non-standard name on your system.])
fi
 
AC_MSG_CHECKING([if more special flags are required for pthreads])
flag=no
case ${host_os} in
aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
osf* | hpux*) flag="-D_REENTRANT";;
solaris*)
if test "$GCC" = "yes"; then
flag="-D_REENTRANT"
else
# TODO: What about Clang on Solaris?
flag="-mt -D_REENTRANT"
fi
;;
esac
AC_MSG_RESULT([$flag])
if test "x$flag" != xno; then
PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
fi
 
AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
[ax_cv_PTHREAD_PRIO_INHERIT], [
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
[[int i = PTHREAD_PRIO_INHERIT;]])],
[ax_cv_PTHREAD_PRIO_INHERIT=yes],
[ax_cv_PTHREAD_PRIO_INHERIT=no])
])
AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"],
[AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])])
 
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
 
# More AIX lossage: compile with *_r variant
if test "x$GCC" != xyes; then
case $host_os in
aix*)
AS_CASE(["x/$CC"],
[x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
[#handle absolute path differently from PATH based program lookup
AS_CASE(["x$CC"],
[x/*],
[AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
[AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
;;
esac
fi
fi
 
test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
 
AC_SUBST([PTHREAD_LIBS])
AC_SUBST([PTHREAD_CFLAGS])
AC_SUBST([PTHREAD_CC])
 
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
if test x"$ax_pthread_ok" = xyes; then
ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
:
else
ax_pthread_ok=no
$2
fi
AC_LANG_POP
])dnl AX_PTHREAD
 
dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
dnl serial 11 (pkg-config-0.29)
dnl
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
dnl 02111-1307, USA.
dnl
dnl As a special exception to the GNU General Public License, if you
dnl distribute this file as part of a program that contains a
dnl configuration script generated by Autoconf, you may include it under
dnl the same distribution terms that you use for the rest of that
dnl program.
 
dnl PKG_PREREQ(MIN-VERSION)
dnl -----------------------
dnl Since: 0.29
dnl
dnl Verify that the version of the pkg-config macros are at least
dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
dnl installed version of pkg-config, this checks the developer's version
dnl of pkg.m4 when generating configure.
dnl
dnl To ensure that this macro is defined, also add:
dnl m4_ifndef([PKG_PREREQ],
dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
[m4_define([PKG_MACROS_VERSION], [0.29])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
 
dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
dnl ----------------------------------
dnl Since: 0.16
dnl
dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
dnl first found in the path. Checks that the version of pkg-config found
dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
dnl used since that's the first version where most current features of
dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
 
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=m4_default([$1], [0.9.0])
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
PKG_CONFIG=""
fi
fi[]dnl
])dnl PKG_PROG_PKG_CONFIG
 
dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------------------------------
dnl Since: 0.18
dnl
dnl Check to see whether a particular set of modules exists. Similar to
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
dnl
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
dnl only at the first occurence in configure.ac, so if the first place
dnl it's called might be skipped (such as if it is within an "if", you
dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
m4_default([$2], [:])
m4_ifvaln([$3], [else
$3])dnl
fi])
 
dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
dnl ---------------------------------------------
dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
elif test -n "$PKG_CONFIG"; then
PKG_CHECK_EXISTS([$3],
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ],
[pkg_failed=yes])
else
pkg_failed=untried
fi[]dnl
])dnl _PKG_CONFIG
 
dnl _PKG_SHORT_ERRORS_SUPPORTED
dnl ---------------------------
dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
else
_pkg_short_errors_supported=no
fi[]dnl
])dnl _PKG_SHORT_ERRORS_SUPPORTED
 
 
dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl --------------------------------------------------------------
dnl Since: 0.4.0
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
 
pkg_failed=no
AC_MSG_CHECKING([for $1])
 
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
 
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
 
if test $pkg_failed = yes; then
AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
 
m4_default([$4], [AC_MSG_ERROR(
[Package requirements ($2) were not met:
 
$$1_PKG_ERRORS
 
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
 
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
 
_PKG_TEXT
 
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes])
$3
fi[]dnl
])dnl PKG_CHECK_MODULES
 
 
dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl ---------------------------------------------------------------------
dnl Since: 0.29
dnl
dnl Checks for existence of MODULES and gathers its build flags with
dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
dnl and VARIABLE-PREFIX_LIBS from --libs.
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
dnl configure.ac.
AC_DEFUN([PKG_CHECK_MODULES_STATIC],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
_save_PKG_CONFIG=$PKG_CONFIG
PKG_CONFIG="$PKG_CONFIG --static"
PKG_CHECK_MODULES($@)
PKG_CONFIG=$_save_PKG_CONFIG[]dnl
])dnl PKG_CHECK_MODULES_STATIC
 
 
dnl PKG_INSTALLDIR([DIRECTORY])
dnl -------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable pkgconfigdir as the location where a module
dnl should install pkg-config .pc files. By default the directory is
dnl $libdir/pkgconfig, but the default can be changed by passing
dnl DIRECTORY. The user can override through the --with-pkgconfigdir
dnl parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([pkgconfigdir],
[AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
[with_pkgconfigdir=]pkg_default)
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
])dnl PKG_INSTALLDIR
 
 
dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
dnl --------------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable noarch_pkgconfigdir as the location where a
dnl module should install arch-independent pkg-config .pc files. By
dnl default the directory is $datadir/pkgconfig, but the default can be
dnl changed by passing DIRECTORY. The user can override through the
dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([noarch-pkgconfigdir],
[AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
[with_noarch_pkgconfigdir=]pkg_default)
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
])dnl PKG_NOARCH_INSTALLDIR
 
 
dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------
dnl Since: 0.28
dnl
dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
 
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
 
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])dnl PKG_CHECK_VAR
 
# Configure paths for SDL
# Sam Lantinga 9/21/99
# stolen from Manish Singh
# stolen back from Frank Belew
# stolen from Manish Singh
# Shamelessly stolen from Owen Taylor
 
# serial 1
 
dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
dnl
AC_DEFUN([AM_PATH_SDL],
[dnl
dnl Get the cflags and libraries from the sdl-config script
dnl
AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
sdl_prefix="$withval", sdl_prefix="")
AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
sdl_exec_prefix="$withval", sdl_exec_prefix="")
AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
, enable_sdltest=yes)
 
if test x$sdl_exec_prefix != x ; then
sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix"
if test x${SDL_CONFIG+set} != xset ; then
SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
fi
fi
if test x$sdl_prefix != x ; then
sdl_config_args="$sdl_config_args --prefix=$sdl_prefix"
if test x${SDL_CONFIG+set} != xset ; then
SDL_CONFIG=$sdl_prefix/bin/sdl-config
fi
fi
 
as_save_PATH="$PATH"
if test "x$prefix" != xNONE; then
PATH="$prefix/bin:$prefix/usr/bin:$PATH"
fi
AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
PATH="$as_save_PATH"
min_sdl_version=ifelse([$1], ,0.11.0,$1)
AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
no_sdl=""
if test "$SDL_CONFIG" = "no" ; then
no_sdl=yes
else
SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags`
SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs`
 
sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_sdltest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_CXXFLAGS="$CXXFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $SDL_CFLAGS"
CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS"
dnl
dnl Now check if the installed SDL is sufficiently new. (Also sanity
dnl checks the results of sdl-config to some extent
dnl
rm -f conf.sdltest
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "SDL.h"
 
char*
my_strdup (char *str)
{
char *new_str;
if (str)
{
new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
}
else
new_str = NULL;
return new_str;
}
 
int main (int argc, char *argv[])
{
int major, minor, micro;
char *tmp_version;
 
/* This hangs on some systems (?)
system ("touch conf.sdltest");
*/
{ FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
 
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = my_strdup("$min_sdl_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_sdl_version");
exit(1);
}
 
if (($sdl_major_version > major) ||
(($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
(($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
printf("*** best to upgrade to the required version.\n");
printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
printf("*** to point to the correct copy of sdl-config, and remove the file\n");
printf("*** config.cache before re-running configure\n");
return 1;
}
}
 
],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
CXXFLAGS="$ac_save_CXXFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_sdl" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$SDL_CONFIG" = "no" ; then
echo "*** The sdl-config script installed by SDL could not be found"
echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the SDL_CONFIG environment variable to the"
echo "*** full path to sdl-config."
else
if test -f conf.sdltest ; then
:
else
echo "*** Could not run SDL test program, checking why..."
CFLAGS="$CFLAGS $SDL_CFLAGS"
CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS"
AC_TRY_LINK([
#include <stdio.h>
#include "SDL.h"
 
int main(int argc, char *argv[])
{ return 0; }
#undef main
#define main K_and_R_C_main
], [ return 0; ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding SDL or finding the wrong"
echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means SDL was incorrectly installed"
echo "*** or that you have moved SDL since it was installed. In the latter case, you"
echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
CXXFLAGS="$ac_save_CXXFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
SDL_CFLAGS=""
SDL_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(SDL_CFLAGS)
AC_SUBST(SDL_LIBS)
rm -f conf.sdltest
])
 
# Configure paths for SDL
# Sam Lantinga 9/21/99
# stolen from Manish Singh
# stolen back from Frank Belew
# stolen from Manish Singh
# Shamelessly stolen from Owen Taylor
 
# serial 1
 
dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
dnl
AC_DEFUN([AM_PATH_SDL2],
[dnl
dnl Get the cflags and libraries from the sdl2-config script
dnl
AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
sdl_prefix="$withval", sdl_prefix="")
AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
sdl_exec_prefix="$withval", sdl_exec_prefix="")
AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
, enable_sdltest=yes)
 
min_sdl_version=ifelse([$1], ,2.0.0,$1)
 
if test "x$sdl_prefix$sdl_exec_prefix" = x ; then
PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version],
[sdl_pc=yes],
[sdl_pc=no])
else
sdl_pc=no
if test x$sdl_exec_prefix != x ; then
sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix"
if test x${SDL2_CONFIG+set} != xset ; then
SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config
fi
fi
if test x$sdl_prefix != x ; then
sdl_config_args="$sdl_config_args --prefix=$sdl_prefix"
if test x${SDL2_CONFIG+set} != xset ; then
SDL2_CONFIG=$sdl_prefix/bin/sdl2-config
fi
fi
fi
 
if test "x$sdl_pc" = xyes ; then
no_sdl=""
SDL2_CONFIG="pkg-config sdl2"
else
as_save_PATH="$PATH"
if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then
PATH="$prefix/bin:$prefix/usr/bin:$PATH"
fi
AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH])
PATH="$as_save_PATH"
AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
no_sdl=""
 
if test "$SDL2_CONFIG" = "no" ; then
no_sdl=yes
else
SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags`
SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs`
 
sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_sdltest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_CXXFLAGS="$CXXFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $SDL_CFLAGS"
CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS"
dnl
dnl Now check if the installed SDL is sufficiently new. (Also sanity
dnl checks the results of sdl2-config to some extent
dnl
rm -f conf.sdltest
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "SDL.h"
 
char*
my_strdup (char *str)
{
char *new_str;
if (str)
{
new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
}
else
new_str = NULL;
return new_str;
}
 
int main (int argc, char *argv[])
{
int major, minor, micro;
char *tmp_version;
 
/* This hangs on some systems (?)
system ("touch conf.sdltest");
*/
{ FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
 
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = my_strdup("$min_sdl_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_sdl_version");
exit(1);
}
 
if (($sdl_major_version > major) ||
(($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
(($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro);
printf("*** best to upgrade to the required version.\n");
printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n");
printf("*** to point to the correct copy of sdl2-config, and remove the file\n");
printf("*** config.cache before re-running configure\n");
return 1;
}
}
 
],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
CXXFLAGS="$ac_save_CXXFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_sdl" = x ; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
fi
if test "x$no_sdl" = x ; then
ifelse([$2], , :, [$2])
else
if test "$SDL2_CONFIG" = "no" ; then
echo "*** The sdl2-config script installed by SDL could not be found"
echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the SDL2_CONFIG environment variable to the"
echo "*** full path to sdl2-config."
else
if test -f conf.sdltest ; then
:
else
echo "*** Could not run SDL test program, checking why..."
CFLAGS="$CFLAGS $SDL_CFLAGS"
CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS"
AC_TRY_LINK([
#include <stdio.h>
#include "SDL.h"
 
int main(int argc, char *argv[])
{ return 0; }
#undef main
#define main K_and_R_C_main
], [ return 0; ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding SDL or finding the wrong"
echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means SDL was incorrectly installed"
echo "*** or that you have moved SDL since it was installed. In the latter case, you"
echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
CXXFLAGS="$ac_save_CXXFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
SDL_CFLAGS=""
SDL_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(SDL_CFLAGS)
AC_SUBST(SDL_LIBS)
rm -f conf.sdltest
])
 
# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.15], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
 
# _AM_AUTOCONF_VERSION(VERSION)
# -----------------------------
# aclocal traces this macro to find the Autoconf version.
# This is a private macro too. Using m4_define simplifies
# the logic in aclocal, which can simply ignore this definition.
m4_define([_AM_AUTOCONF_VERSION], [])
 
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.15])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
 
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
# therefore $ac_aux_dir as well) can be either absolute or relative,
# depending on how configure is run. This is pretty annoying, since
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
# source directory, any form will work fine, but in subdirectories a
# relative path needs to be adjusted first.
#
# $ac_aux_dir/missing
# fails when called from a subdirectory if $ac_aux_dir is relative
# $top_srcdir/$ac_aux_dir/missing
# fails if $ac_aux_dir is absolute,
# fails when called from a subdirectory in a VPATH build with
# a relative $ac_aux_dir
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
# harmless because $srcdir is '.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
# and then we would define $MISSING as
# MISSING="\${SHELL} $am_aux_dir/missing"
# This will work as long as MISSING is not called from configure, because
# unfortunately $(top_srcdir) has no meaning in configure.
# However there are other variables, like CC, which are often used in
# configure, and could therefore not use this "fixed" $ac_aux_dir.
#
# Another solution, used here, is to always expand $ac_aux_dir to an
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
 
AC_DEFUN([AM_AUX_DIR_EXPAND],
[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
# Expand $ac_aux_dir to an absolute path.
am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
 
# AM_CONDITIONAL -*- Autoconf -*-
 
# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
[AC_PREREQ([2.52])dnl
m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
m4_define([_AM_COND_VALUE_$1], [$2])dnl
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([[conditional "$1" was never defined.
Usually this means the macro was only invoked conditionally.]])
fi])])
 
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
 
# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
 
 
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
# dependency, and given that the user is not expected to run this macro,
# just rely on AC_PROG_CC.
AC_DEFUN([_AM_DEPENDENCIES],
[AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
 
m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
[$1], [CXX], [depcc="$CXX" am_compiler_list=],
[$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
[$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
[$1], [UPC], [depcc="$UPC" am_compiler_list=],
[$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
 
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named 'D' -- because '-MD' means "put the output
# in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
 
am_cv_$1_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
am__universal=false
m4_case([$1], [CC],
[case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac],
[CXX],
[case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac])
 
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
# Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
# Solaris 10 /bin/sh.
echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
# We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
# handle '-M -o', and we need to detect this. Also, some Intel
# versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect)
# After this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
am__minus_obj=
;;
none) break ;;
esac
if depmode=$depmode \
source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
fi
done
 
cd ..
rm -rf conftest.dir
else
am_cv_$1_dependencies_compiler_type=none
fi
])
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
AM_CONDITIONAL([am__fastdep$1], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
])
 
 
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
])
 
 
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
[AC_ARG_ENABLE([dependency-tracking], [dnl
AS_HELP_STRING(
[--enable-dependency-tracking],
[do not reject slow dependency extractors])
AS_HELP_STRING(
[--disable-dependency-tracking],
[speeds up one-time build])])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
am__nodep='_no'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])dnl
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
AC_SUBST([am__nodep])dnl
_AM_SUBST_NOTMAKE([am__nodep])dnl
])
 
# Generate code to set up dependency tracking. -*- Autoconf -*-
 
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
 
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
*\'*) eval set x "$CONFIG_FILES" ;;
*) set x $CONFIG_FILES ;;
esac
shift
for mf
do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# Grep'ing the whole file is not good either: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
# from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`AS_DIRNAME(["$file"])`
AS_MKDIR_P([$dirpart/$fdir])
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 
 
# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each '.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
 
# Do all the work for Automake. -*- Autoconf -*-
 
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
 
dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
m4_define([AC_PROG_CC],
m4_defn([AC_PROG_CC])
[_AM_PROG_CC_C_O
])
 
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out. PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.65])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
fi
 
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
AC_SUBST([CYGPATH_W])
 
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[AC_DIAGNOSE([obsolete],
[$0: two- and three-arguments forms are deprecated.])
m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(
m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
[ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
AM_MISSING_PROG([AUTOCONF], [autoconf])
AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
AM_MISSING_PROG([AUTOHEADER], [autoheader])
AM_MISSING_PROG([MAKEINFO], [makeinfo])
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target (and possibly the TAP driver). The
# system "awk" is bad on some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
[_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES([CC])],
[m4_define([AC_PROG_CC],
m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[_AM_DEPENDENCIES([CXX])],
[m4_define([AC_PROG_CXX],
m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[_AM_DEPENDENCIES([OBJC])],
[m4_define([AC_PROG_OBJC],
m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[_AM_DEPENDENCIES([OBJCXX])],
[m4_define([AC_PROG_OBJCXX],
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
AC_REQUIRE([AM_SILENT_RULES])dnl
dnl The testsuite driver may need to know about EXEEXT, so add the
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
 
# POSIX will say in a future version that running "rm -f" with no argument
# is OK; and we want to be able to make that assumption in our Makefile
# recipes. So use an aggressive probe to check that the usage we want is
# actually supported "in the wild" to an acceptable degree.
# See automake bug#10828.
# To make any issue more visible, cause the running configure to be aborted
# by default if the 'rm' program in use doesn't match our expectations; the
# user can still override this though.
if rm -f && rm -fr && rm -rf; then : OK; else
cat >&2 <<'END'
Oops!
 
Your 'rm' program seems unable to run without file operands specified
on the command line, even when the '-f' option is present. This is contrary
to the behaviour of most rm programs out there, and not conforming with
the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
 
Please tell bug-automake@gnu.org about your system, including the value
of your $PATH and any error possibly output before this message. This
can help us improve future automake versions.
 
END
if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
echo 'Configuration will proceed anyway, since you have set the' >&2
echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
echo >&2
else
cat >&2 <<'END'
Aborting the configuration process, to ensure you take notice of the issue.
 
You can download and install GNU coreutils to get an 'rm' implementation
that behaves properly: <http://www.gnu.org/software/coreutils/>.
 
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
to "yes", and re-run configure.
 
END
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
fi
fi
dnl The trailing newline in this macro's definition is deliberate, for
dnl backward compatibility and to allow trailing 'dnl'-style comments
dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
])
 
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
 
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
# loop where config.status creates the headers, so we can generate
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
*)
install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
fi
AC_SUBST([install_sh])])
 
# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
[rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
 
# Check to see how 'make' treats includes. -*- Autoconf -*-
 
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
@echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make])
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
am__quote=
_am_result=GNU
;;
esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=.include
am__quote="\""
_am_result=BSD
;;
esac
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
 
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
 
# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
[AC_REQUIRE([AM_MISSING_HAS_RUN])
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
 
# AM_MISSING_HAS_RUN
# ------------------
# Define MISSING if not defined so far and test if it is modern enough.
# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
*)
MISSING="\${SHELL} $am_aux_dir/missing" ;;
esac
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
am_missing_run="$MISSING "
else
am_missing_run=
AC_MSG_WARN(['missing' script is too old or missing])
fi
])
 
# Helper functions for option handling. -*- Autoconf -*-
 
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
 
# _AM_SET_OPTION(NAME)
# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
# _AM_SET_OPTIONS(OPTIONS)
# ------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
 
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# _AM_PROG_CC_C_O
# ---------------
# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
# to automatically call this.
AC_DEFUN([_AM_PROG_CC_C_O],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([compile])dnl
AC_LANG_PUSH([C])dnl
AC_CACHE_CHECK(
[whether $CC understands -c and -o together],
[am_cv_prog_cc_c_o],
[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
# Make sure it works both with $CC and with simple cc.
# Following AC_PROG_CC_C_O, we do the test twice because some
# compilers refuse to overwrite an existing .o file with -o,
# though they will create one.
am_cv_prog_cc_c_o=yes
for am_i in 1 2; do
if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
&& test -f conftest2.$ac_objext; then
: OK
else
am_cv_prog_cc_c_o=no
break
fi
done
rm -f core conftest*
unset am_i])
if test "$am_cv_prog_cc_c_o" != yes; then
# Losing compiler, so override with the script.
# FIXME: It is wrong to rewrite CC.
# But if we don't then we get into trouble of one sort or another.
# A longer-term fix would be to have automake use am__CC in this case,
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
CC="$am_aux_dir/compile $CC"
fi
AC_LANG_POP([C])])
 
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# AM_RUN_LOG(COMMAND)
# -------------------
# Run COMMAND, save the exit status in ac_status, and log it.
# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
AC_DEFUN([AM_RUN_LOG],
[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
(exit $ac_status); }])
 
# Check to make sure that the build environment is sane. -*- Autoconf -*-
 
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
*[[\\\"\#\$\&\'\`$am_lf]]*)
AC_MSG_ERROR([unsafe absolute working directory name]);;
esac
case $srcdir in
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
esac
 
# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
am_has_slept=no
for am_try in 1 2; do
echo "timestamp, slept: $am_has_slept" > conftest.file
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t "$srcdir/configure" conftest.file`
fi
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
 
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
if test "$[2]" = conftest.file || test $am_try -eq 2; then
break
fi
# Just in case.
sleep 1
am_has_slept=yes
done
test "$[2]" = conftest.file
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
AC_MSG_RESULT([yes])
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
if grep 'slept: no' conftest.file >/dev/null 2>&1; then
( sleep 1 ) &
am_sleep_pid=$!
fi
AC_CONFIG_COMMANDS_PRE(
[AC_MSG_CHECKING([that generated files are newer than configure])
if test -n "$am_sleep_pid"; then
# Hide warnings about reused PIDs.
wait $am_sleep_pid 2>/dev/null
fi
AC_MSG_RESULT([done])])
rm -f conftest.file
])
 
# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# AM_SILENT_RULES([DEFAULT])
# --------------------------
# Enable less verbose build rules; with the default set to DEFAULT
# ("yes" being less verbose, "no" or empty being verbose).
AC_DEFUN([AM_SILENT_RULES],
[AC_ARG_ENABLE([silent-rules], [dnl
AS_HELP_STRING(
[--enable-silent-rules],
[less verbose build output (undo: "make V=1")])
AS_HELP_STRING(
[--disable-silent-rules],
[verbose build output (undo: "make V=0")])dnl
])
case $enable_silent_rules in @%:@ (((
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
dnl
dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
dnl do not support nested variable expansions.
dnl See automake bug#9928 and bug#10237.
am_make=${MAKE-make}
AC_CACHE_CHECK([whether $am_make supports nested variables],
[am_cv_make_support_nested_variables],
[if AS_ECHO([['TRUE=$(BAR$(V))
BAR0=false
BAR1=true
V=1
am__doit:
@$(TRUE)
.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
am_cv_make_support_nested_variables=yes
else
am_cv_make_support_nested_variables=no
fi])
if test $am_cv_make_support_nested_variables = yes; then
dnl Using '$V' instead of '$(V)' breaks IRIX make.
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
AM_V=$AM_DEFAULT_VERBOSITY
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
AC_SUBST([AM_V])dnl
AM_SUBST_NOTMAKE([AM_V])dnl
AC_SUBST([AM_DEFAULT_V])dnl
AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
AM_BACKSLASH='\'
AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
 
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# AM_PROG_INSTALL_STRIP
# ---------------------
# One issue with vendor 'install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
# always use install-sh in "make install-strip", and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using 'strip' when the user
# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the 'STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
 
# AM_SUBST_NOTMAKE(VARIABLE)
# --------------------------
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
# Check how to create a tarball. -*- Autoconf -*-
 
# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
# FORMAT should be one of 'v7', 'ustar', or 'pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
# $tardir.
# tardir=directory && $(am__tar) > result.tar
#
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
#
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AC_SUBST([AMTAR], ['$${TAR-tar}'])
 
# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
 
m4_if([$1], [v7],
[am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
 
[m4_case([$1],
[ustar],
[# The POSIX 1988 'ustar' format is defined with fixed-size fields.
# There is notably a 21 bits limit for the UID and the GID. In fact,
# the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
# and bug#13588).
am_max_uid=2097151 # 2^21 - 1
am_max_gid=$am_max_uid
# The $UID and $GID variables are not portable, so we need to resort
# to the POSIX-mandated id(1) utility. Errors in the 'id' calls
# below are definitely unexpected, so allow the users to see them
# (that is, avoid stderr redirection).
am_uid=`id -u || echo unknown`
am_gid=`id -g || echo unknown`
AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
if test $am_uid -le $am_max_uid; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
_am_tools=none
fi
AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
if test $am_gid -le $am_max_gid; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
_am_tools=none
fi],
 
[pax],
[],
 
[m4_fatal([Unknown tar format])])
 
AC_MSG_CHECKING([how to create a $1 tar archive])
 
# Go ahead even if we have the value already cached. We do so because we
# need to set the values for the 'am__tar' and 'am__untar' variables.
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
 
for _am_tool in $_am_tools; do
case $_am_tool in
gnutar)
for _am_tar in tar gnutar gtar; do
AM_RUN_LOG([$_am_tar --version]) && break
done
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
am__untar="$_am_tar -xf -"
;;
plaintar)
# Must skip GNU tar: if it does not support --format= it doesn't create
# ustar tarball either.
(tar --version) >/dev/null 2>&1 && continue
am__tar='tar chf - "$$tardir"'
am__tar_='tar chf - "$tardir"'
am__untar='tar xf -'
;;
pax)
am__tar='pax -L -x $1 -w "$$tardir"'
am__tar_='pax -L -x $1 -w "$tardir"'
am__untar='pax -r'
;;
cpio)
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
am__untar='cpio -i -H $1 -d'
;;
none)
am__tar=false
am__tar_=false
am__untar=false
;;
esac
 
# If the value was cached, stop now. We just wanted to have am__tar
# and am__untar set.
test -n "${am_cv_prog_tar_$1}" && break
 
# tar/untar a dummy directory, and stop if the command works.
rm -rf conftest.dir
mkdir conftest.dir
echo GrepMe > conftest.dir/file
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
rm -rf conftest.dir
if test -s conftest.tar; then
AM_RUN_LOG([$am__untar <conftest.tar])
AM_RUN_LOG([cat conftest.dir/file])
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
fi
done
rm -rf conftest.dir
 
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
 
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
 
New file
/np21/x11/install-sh
@@ -0,0 +1,301 @@
#!/bin/sh
#
# $NetBSD: install-sh.in,v 1.6 2012/01/11 13:07:31 hans Exp $
# This script now also installs multiple files, but might choke on installing
# multiple files with spaces in the file names.
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
 
# set DOITPROG to echo to test this script
 
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
 
 
# put in absolute paths if you don't have them in your path; or use env. vars.
 
awkprog="${AWKPROG-awk}"
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
 
instcmd="$cpprog"
instflags=""
pathcompchmodcmd="$chmodprog 755"
chmodcmd="$chmodprog 755"
chowncmd=""
chgrpcmd=""
stripcmd=""
stripflags=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
msrc=""
dst=""
dir_arg=""
suffix=""
suffixfmt=""
 
while [ x"$1" != x ]; do
case $1 in
-b) suffix=".old"
shift
continue;;
 
-B) suffixfmt="$2"
shift
shift
continue;;
 
-c) instcmd="$cpprog"
shift
continue;;
 
-d) dir_arg=true
shift
continue;;
 
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
 
-m*)
chmodcmd="$chmodprog ${1#-m}"
shift
continue;;
 
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
 
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
 
-s) stripcmd="$stripprog"
shift
continue;;
 
-S) stripcmd="$stripprog"
stripflags="-S $2 $stripflags"
shift
shift
continue;;
 
-p) instflags="-p"
shift
continue;;
 
*) if [ x"$msrc" = x ]
then
msrc="$dst"
else
msrc="$msrc $dst"
fi
src="$dst"
dst="$1"
shift
continue;;
esac
done
 
if [ x"$dir_arg" = x ]
then
dstisfile=""
if [ ! -d "$dst" ]
then
if [ x"$msrc" = x"$src" ]
then
dstisfile=true
else
echo "install: destination is not a directory"
exit 1
fi
fi
else
msrc="$msrc $dst"
fi
 
if [ x"$msrc" = x ]
then
echo "install: no destination specified"
exit 1
fi
 
for srcarg in $msrc; do
 
if [ x"$dir_arg" != x ]; then
 
dstarg="$srcarg"
else
dstarg="$dst"
 
# Waiting for this to be detected by the "$instcmd $srcarg $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
 
if [ -f "$srcarg" ]
then
doinst="$instcmd $instflags"
elif [ -d "$srcarg" ]
then
echo "install: $srcarg: not a regular file"
exit 1
elif [ "$srcarg" = "/dev/null" ]
then
doinst="$cpprog"
else
echo "install: $srcarg does not exist"
exit 1
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
 
if [ -d "$dstarg" ]
then
dstarg="$dstarg"/`basename "$srcarg"`
fi
fi
 
## this sed command emulates the dirname command
dstdir=`echo "$dstarg" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
 
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
 
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
 
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
 
pathcomp=''
 
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
 
if [ ! -d "${pathcomp}" ] ;
then
$doit $mkdirprog "${pathcomp}"
if [ x"$chowncmd" != x ]; then $doit $chowncmd "${pathcomp}"; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "${pathcomp}"; else true ; fi &&
if [ x"$pathcompchmodcmd" != x ]; then $doit $pathcompchmodcmd "${pathcomp}"; else true ; fi
 
else
true
fi
 
pathcomp="${pathcomp}/"
done
fi
 
if [ x"$dir_arg" != x ]
then
if [ -d "$dstarg" ]; then
true
else
$doit $mkdirprog "$dstarg" &&
 
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dstarg"; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dstarg"; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dstarg"; else true ; fi
fi
else
 
if [ x"$dstisfile" = x ]
then
file=$srcarg
else
file=$dst
fi
 
dstfile=`basename "$file"`
dstfinal="$dstdir/$dstfile"
 
# Make a temp file name in the proper directory.
 
dsttmp=$dstdir/#inst.$$#
 
# Make a backup file name in the proper directory.
case x$suffixfmt in
*%*) suffix=`echo x |
$awkprog -v bname="$dstfinal" -v fmt="$suffixfmt" '
{ cnt = 0;
do {
sfx = sprintf(fmt, cnt++);
name = bname sfx;
} while (system("test -f " name) == 0);
print sfx; }' -`;;
x) ;;
*) suffix="$suffixfmt";;
esac
dstbackup="$dstfinal$suffix"
 
# Move or copy the file name to the temp name
 
$doit $doinst $srcarg "$dsttmp" &&
 
trap "rm -f ${dsttmp}" 0 &&
 
# and set any options; do chmod last to preserve setuid bits
 
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
 
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $stripflags "$dsttmp"; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else true;fi &&
 
# Now rename the file to the real destination.
 
if [ x"$suffix" != x ] && [ -f "$dstfinal" ]
then
$doit $mvcmd "$dstfinal" "$dstbackup"
else
$doit $rmcmd -f "$dstfinal"
fi &&
$doit $mvcmd "$dsttmp" "$dstfinal"
fi
 
done &&
 
 
exit 0
New file
/np21/x11/Makefile.in
@@ -0,0 +1,5929 @@
# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
 
@SET_MAKE@
 
 
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = xnp2$(EXEEXT) $(am__EXEEXT_1)
@BUILD_ALL_TRUE@am__append_1 = -DX11_BUILD_ALL
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@am__append_2 = xnp21
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@am__append_3 = xnp21.1 xnp21.1j
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@am__append_4 = $(I286C_SOURCES)
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@am__append_5 = $(I286C_CPPFLAGS)
@BUILD_ALL_FALSE@@CPUCORE_IA32_TRUE@am__append_6 = $(IA32_SOURCES)
@BUILD_ALL_FALSE@@CPUCORE_IA32_TRUE@am__append_7 = $(IA32_CPPFLAGS)
@CPUCORE_IA32_FALSE@am__append_8 = $(I286C_SOURCES)
@CPUCORE_IA32_FALSE@am__append_9 = $(I286C_CPPFLAGS)
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(dist_pkgdata_DATA)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@am__EXEEXT_1 = xnp21$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
"$(DESTDIR)$(pkgdatadir)"
PROGRAMS = $(bin_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp
am__objects_1 = $(real_topsrcdir)/x11/ext/xnp2-opl3.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp2-opna.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/c86ctl/xnp2-c86ctlc86box.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/c86ctl/xnp2-c86ctlgimic.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/c86ctl/xnp2-c86ctlif.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/c86ctl/xnp2-c86ctlrealchipbase.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/scci/xnp2-scciif.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/scci/xnp2-sccisoundchip.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/scci/xnp2-sccisoundinterface.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/scci/xnp2-sccisoundinterfacemanager.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/scci/xnp2-sccispfmlight.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp2-externalchipmanager.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp2-externalopl3.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp2-externalopm.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp2-externalopna.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp2-externalpsg.$(OBJEXT)
am__objects_2 = $(real_topsrcdir)/x11/xnp2-main.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-np2.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-dosio.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-ini.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-oemtext.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-trace.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-kdispwin.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-skbdwin.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-cmmidi.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-cmserial.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-drawmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-fontmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-kbdmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-commng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-joymng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-soundmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-sysmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-taskmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp2-timemng.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_about.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_calendar.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_config.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_midi.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_newdisk.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_screen.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_sound.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-window_keydisp.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-window_softkbd.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_drawmng.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_screen.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_font.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_keyboard.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_menu.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_mouse.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_main.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_wrapper.$(OBJEXT) \
$(real_topsrcdir)/x11/debug/xnp2-viewmem.$(OBJEXT) \
$(real_topsrcdir)/x11/misc/xnp2-threadbase.$(OBJEXT) \
$(real_topsrcdir)/x11/misc/xnp2-tty.$(OBJEXT) \
$(real_topsrcdir)/x11/misc/xnp2-usbdev.$(OBJEXT) \
$(am__objects_1) $(real_topsrcdir)/xnp2-pccore.$(OBJEXT) \
$(real_topsrcdir)/xnp2-nevent.$(OBJEXT) \
$(real_topsrcdir)/xnp2-calendar.$(OBJEXT) \
$(real_topsrcdir)/xnp2-timing.$(OBJEXT) \
$(real_topsrcdir)/xnp2-statsave.$(OBJEXT) \
$(real_topsrcdir)/xnp2-keystat.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-strres.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-milstr.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-_memory.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-textfile.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-profile.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-rect.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-lstarray.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-bmpdata.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-mimpidef.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-parts.$(OBJEXT) \
$(real_topsrcdir)/common/xnp2-wavefile.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp2-eucsjis.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp2-eucucs2.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp2-sjiseuc.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp2-sjisucs2.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp2-tcswap16.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp2-tcswap32.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp2-textcnv.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp2-ucs2sjis.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp2-ucs2utf8.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp2-utf8ucs2.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios09.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios0c.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios12.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios13.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios18.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios19.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios1a.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios1b.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios1c.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-bios1f.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp2-sxsibios.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-cbuscore.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-pc9861k.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-mpu98ii.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-amd98.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-board118.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-board14.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-board26k.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-board86.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-boardso.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-boardspb.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-boardx2.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-cs4231io.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-pcm86io.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-sasiio.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-scsiio.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-scsicmd.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-ideio.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp2-atapicmd.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp2-diskdrv.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp2-newdisk.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp2-fddfile.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp2-fdd_xdf.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp2-fdd_d88.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp2-fdd_mtr.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp2-sxsi.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp2-sxsihdd.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp2-sxsicd.$(OBJEXT) \
$(real_topsrcdir)/font/xnp2-font.$(OBJEXT) \
$(real_topsrcdir)/font/xnp2-fontdata.$(OBJEXT) \
$(real_topsrcdir)/font/xnp2-fontmake.$(OBJEXT) \
$(real_topsrcdir)/font/xnp2-fontpc88.$(OBJEXT) \
$(real_topsrcdir)/font/xnp2-fontpc98.$(OBJEXT) \
$(real_topsrcdir)/font/xnp2-fontv98.$(OBJEXT) \
$(real_topsrcdir)/font/xnp2-fontfm7.$(OBJEXT) \
$(real_topsrcdir)/font/xnp2-fontx1.$(OBJEXT) \
$(real_topsrcdir)/font/xnp2-fontx68k.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp2-cmndraw.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp2-keydisp.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp2-cmjasts.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp2-hostdrv.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp2-hostdrvs.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp2-unasm.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp2-np2info.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp2-memdbg32.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp2-softkbd.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-iocore.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-artic.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-cgrom.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-cpuio.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-crtc.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-dipsw.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-dmac.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-egc.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-emsio.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-fdc.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-fdd320.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-gdc.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-gdc_sub.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-gdc_pset.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-mouseif.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-nmiio.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-np2sysp.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-pic.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-pit.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-printif.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-serial.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-sysport.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-upd4990.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-necio.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-epsonio.$(OBJEXT) \
$(real_topsrcdir)/io/xnp2-pcidev.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp2-lio.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp2-gscreen.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp2-gpset.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp2-gline.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp2-gcircle.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp2-gput1.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp2-dmav30.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp2-dmax86.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp2-memegc.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp2-memems.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp2-memepp.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp2-memtram.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp2-memvga.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp2-memvram.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-sound.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-soundrom.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-s98.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-adpcmc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-adpcmg.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-beepc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-beepg.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-cs4231c.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-cs4231g.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-fmboard.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-oplgenc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-oplgeng.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-opngenc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-opngeng.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-opntimer.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-pcm86c.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-pcm86g.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-pcmmix.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-psggenc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-psggeng.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-rhythmc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-sndcsec.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-tms3631c.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp2-tms3631g.$(OBJEXT) \
$(real_topsrcdir)/sound/getsnd/xnp2-getsnd.$(OBJEXT) \
$(real_topsrcdir)/sound/getsnd/xnp2-getsmix.$(OBJEXT) \
$(real_topsrcdir)/sound/getsnd/xnp2-getmp3.$(OBJEXT) \
$(real_topsrcdir)/sound/getsnd/xnp2-getogg.$(OBJEXT) \
$(real_topsrcdir)/sound/getsnd/xnp2-getwave.$(OBJEXT) \
$(real_topsrcdir)/sound/vermouth/xnp2-midiout.$(OBJEXT) \
$(real_topsrcdir)/sound/vermouth/xnp2-midimod.$(OBJEXT) \
$(real_topsrcdir)/sound/vermouth/xnp2-midinst.$(OBJEXT) \
$(real_topsrcdir)/sound/vermouth/xnp2-midvoice.$(OBJEXT) \
$(real_topsrcdir)/sound/vermouth/xnp2-midtable.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp2-vram.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp2-scrndraw.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp2-sdraw.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp2-dispsync.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp2-palettes.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp2-maketext.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp2-maketgrp.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp2-makegrph.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp2-makegrex.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp2-scrnsave.$(OBJEXT)
am__objects_3 = $(real_topsrcdir)/i286c/xnp2-i286c.$(OBJEXT) \
$(real_topsrcdir)/i286c/xnp2-cpumem.$(OBJEXT) \
$(real_topsrcdir)/i286c/xnp2-i286c_mn.$(OBJEXT) \
$(real_topsrcdir)/i286c/xnp2-i286c_ea.$(OBJEXT) \
$(real_topsrcdir)/i286c/xnp2-i286c_0f.$(OBJEXT) \
$(real_topsrcdir)/i286c/xnp2-i286c_8x.$(OBJEXT) \
$(real_topsrcdir)/i286c/xnp2-i286c_sf.$(OBJEXT) \
$(real_topsrcdir)/i286c/xnp2-i286c_f6.$(OBJEXT) \
$(real_topsrcdir)/i286c/xnp2-i286c_fe.$(OBJEXT) \
$(real_topsrcdir)/i286c/xnp2-i286c_rp.$(OBJEXT) \
$(real_topsrcdir)/i286c/xnp2-v30patch.$(OBJEXT) \
$(real_topsrcdir)/xnp2-debugsub.$(OBJEXT)
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@am__objects_4 = $(am__objects_3)
am__objects_5 = $(real_topsrcdir)/i386c/xnp2-cpucore.$(OBJEXT) \
$(real_topsrcdir)/i386c/xnp2-cpumem.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-interface.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-ia32.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-cpu.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-cpu_io.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-cpu_mem.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-ctrlxfer.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-debug.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-disasm.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-exception.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-groups.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-inst_table.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-paging.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-resolve.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-segments.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp2-task.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-bin_arith.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-bit_byte.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-ctrl_trans.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-data_trans.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-dec_arith.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-flag_ctrl.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-fpu.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-logic_arith.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-misc_inst.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-seg_reg.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-shift_rotate.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-string_inst.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-system_inst.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/fpu/xnp2-fpdummy.$(OBJEXT) \
$(real_topsrcdir)/xnp2-debugsub386.$(OBJEXT)
@BUILD_ALL_FALSE@@CPUCORE_IA32_TRUE@am__objects_6 = $(am__objects_5)
@CPUCORE_IA32_FALSE@am__objects_7 = $(am__objects_3)
am_xnp2_OBJECTS = $(am__objects_2) $(am__objects_4) $(am__objects_6) \
$(am__objects_7)
xnp2_OBJECTS = $(am_xnp2_OBJECTS)
xnp2_LDADD = $(LDADD)
am__DEPENDENCIES_1 =
xnp2_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am__objects_8 = $(real_topsrcdir)/x11/ext/xnp21-opl3.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp21-opna.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/c86ctl/xnp21-c86ctlc86box.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/c86ctl/xnp21-c86ctlgimic.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/c86ctl/xnp21-c86ctlif.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/c86ctl/xnp21-c86ctlrealchipbase.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/scci/xnp21-scciif.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/scci/xnp21-sccisoundchip.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/scci/xnp21-sccisoundinterface.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/scci/xnp21-sccisoundinterfacemanager.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/scci/xnp21-sccispfmlight.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp21-externalchipmanager.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp21-externalopl3.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp21-externalopm.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp21-externalopna.$(OBJEXT) \
$(real_topsrcdir)/x11/ext/xnp21-externalpsg.$(OBJEXT)
am__objects_9 = $(real_topsrcdir)/x11/xnp21-main.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-np2.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-dosio.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-ini.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-oemtext.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-trace.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-kdispwin.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-skbdwin.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-cmmidi.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-cmserial.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-drawmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-fontmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-kbdmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-commng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-joymng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-soundmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-sysmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-taskmng.$(OBJEXT) \
$(real_topsrcdir)/x11/xnp21-timemng.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_about.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_calendar.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_config.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_midi.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_newdisk.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_screen.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_sound.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-window_keydisp.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-window_softkbd.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_drawmng.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_screen.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_font.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_keyboard.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_menu.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_mouse.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_main.$(OBJEXT) \
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_wrapper.$(OBJEXT) \
$(real_topsrcdir)/x11/debug/xnp21-viewmem.$(OBJEXT) \
$(real_topsrcdir)/x11/misc/xnp21-threadbase.$(OBJEXT) \
$(real_topsrcdir)/x11/misc/xnp21-tty.$(OBJEXT) \
$(real_topsrcdir)/x11/misc/xnp21-usbdev.$(OBJEXT) \
$(am__objects_8) $(real_topsrcdir)/xnp21-pccore.$(OBJEXT) \
$(real_topsrcdir)/xnp21-nevent.$(OBJEXT) \
$(real_topsrcdir)/xnp21-calendar.$(OBJEXT) \
$(real_topsrcdir)/xnp21-timing.$(OBJEXT) \
$(real_topsrcdir)/xnp21-statsave.$(OBJEXT) \
$(real_topsrcdir)/xnp21-keystat.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-strres.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-milstr.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-_memory.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-textfile.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-profile.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-rect.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-lstarray.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-bmpdata.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-mimpidef.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-parts.$(OBJEXT) \
$(real_topsrcdir)/common/xnp21-wavefile.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp21-eucsjis.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp21-eucucs2.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp21-sjiseuc.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp21-sjisucs2.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp21-tcswap16.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp21-tcswap32.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp21-textcnv.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp21-ucs2sjis.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp21-ucs2utf8.$(OBJEXT) \
$(real_topsrcdir)/codecnv/xnp21-utf8ucs2.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios09.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios0c.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios12.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios13.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios18.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios19.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios1a.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios1b.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios1c.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-bios1f.$(OBJEXT) \
$(real_topsrcdir)/bios/xnp21-sxsibios.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-cbuscore.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-pc9861k.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-mpu98ii.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-amd98.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-board118.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-board14.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-board26k.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-board86.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-boardso.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-boardspb.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-boardx2.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-cs4231io.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-pcm86io.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-sasiio.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-scsiio.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-scsicmd.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-ideio.$(OBJEXT) \
$(real_topsrcdir)/cbus/xnp21-atapicmd.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp21-diskdrv.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp21-newdisk.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp21-fddfile.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp21-fdd_xdf.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp21-fdd_d88.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp21-fdd_mtr.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp21-sxsi.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp21-sxsihdd.$(OBJEXT) \
$(real_topsrcdir)/fdd/xnp21-sxsicd.$(OBJEXT) \
$(real_topsrcdir)/font/xnp21-font.$(OBJEXT) \
$(real_topsrcdir)/font/xnp21-fontdata.$(OBJEXT) \
$(real_topsrcdir)/font/xnp21-fontmake.$(OBJEXT) \
$(real_topsrcdir)/font/xnp21-fontpc88.$(OBJEXT) \
$(real_topsrcdir)/font/xnp21-fontpc98.$(OBJEXT) \
$(real_topsrcdir)/font/xnp21-fontv98.$(OBJEXT) \
$(real_topsrcdir)/font/xnp21-fontfm7.$(OBJEXT) \
$(real_topsrcdir)/font/xnp21-fontx1.$(OBJEXT) \
$(real_topsrcdir)/font/xnp21-fontx68k.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp21-cmndraw.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp21-keydisp.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp21-cmjasts.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp21-hostdrv.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp21-hostdrvs.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp21-unasm.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp21-np2info.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp21-memdbg32.$(OBJEXT) \
$(real_topsrcdir)/generic/xnp21-softkbd.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-iocore.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-artic.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-cgrom.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-cpuio.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-crtc.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-dipsw.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-dmac.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-egc.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-emsio.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-fdc.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-fdd320.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-gdc.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-gdc_sub.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-gdc_pset.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-mouseif.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-nmiio.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-np2sysp.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-pic.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-pit.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-printif.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-serial.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-sysport.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-upd4990.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-necio.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-epsonio.$(OBJEXT) \
$(real_topsrcdir)/io/xnp21-pcidev.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp21-lio.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp21-gscreen.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp21-gpset.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp21-gline.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp21-gcircle.$(OBJEXT) \
$(real_topsrcdir)/lio/xnp21-gput1.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp21-dmav30.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp21-dmax86.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp21-memegc.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp21-memems.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp21-memepp.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp21-memtram.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp21-memvga.$(OBJEXT) \
$(real_topsrcdir)/mem/xnp21-memvram.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-sound.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-soundrom.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-s98.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-adpcmc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-adpcmg.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-beepc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-beepg.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-cs4231c.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-cs4231g.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-fmboard.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-oplgenc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-oplgeng.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-opngenc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-opngeng.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-opntimer.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-pcm86c.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-pcm86g.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-pcmmix.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-psggenc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-psggeng.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-rhythmc.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-sndcsec.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-tms3631c.$(OBJEXT) \
$(real_topsrcdir)/sound/xnp21-tms3631g.$(OBJEXT) \
$(real_topsrcdir)/sound/getsnd/xnp21-getsnd.$(OBJEXT) \
$(real_topsrcdir)/sound/getsnd/xnp21-getsmix.$(OBJEXT) \
$(real_topsrcdir)/sound/getsnd/xnp21-getmp3.$(OBJEXT) \
$(real_topsrcdir)/sound/getsnd/xnp21-getogg.$(OBJEXT) \
$(real_topsrcdir)/sound/getsnd/xnp21-getwave.$(OBJEXT) \
$(real_topsrcdir)/sound/vermouth/xnp21-midiout.$(OBJEXT) \
$(real_topsrcdir)/sound/vermouth/xnp21-midimod.$(OBJEXT) \
$(real_topsrcdir)/sound/vermouth/xnp21-midinst.$(OBJEXT) \
$(real_topsrcdir)/sound/vermouth/xnp21-midvoice.$(OBJEXT) \
$(real_topsrcdir)/sound/vermouth/xnp21-midtable.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp21-vram.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp21-scrndraw.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp21-sdraw.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp21-dispsync.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp21-palettes.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp21-maketext.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp21-maketgrp.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp21-makegrph.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp21-makegrex.$(OBJEXT) \
$(real_topsrcdir)/vram/xnp21-scrnsave.$(OBJEXT)
am__objects_10 = $(real_topsrcdir)/i386c/xnp21-cpucore.$(OBJEXT) \
$(real_topsrcdir)/i386c/xnp21-cpumem.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-interface.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-ia32.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-cpu.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-cpu_io.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-cpu_mem.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-ctrlxfer.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-debug.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-disasm.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-exception.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-groups.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-inst_table.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-paging.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-resolve.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-segments.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/xnp21-task.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-bin_arith.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-bit_byte.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-ctrl_trans.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-data_trans.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-dec_arith.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-flag_ctrl.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-fpu.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-logic_arith.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-misc_inst.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-seg_reg.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-shift_rotate.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-string_inst.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-system_inst.$(OBJEXT) \
$(real_topsrcdir)/i386c/ia32/instructions/fpu/xnp21-fpdummy.$(OBJEXT) \
$(real_topsrcdir)/xnp21-debugsub386.$(OBJEXT)
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@am_xnp21_OBJECTS = \
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@ $(am__objects_9) \
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@ $(am__objects_10)
xnp21_OBJECTS = $(am_xnp21_OBJECTS)
xnp21_LDADD = $(LDADD)
xnp21_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__depfiles_maybe =
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_@AM_V@)
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
am__v_CXX_0 = @echo " CXX " $@;
am__v_CXX_1 =
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
SOURCES = $(xnp2_SOURCES) $(xnp21_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(nodist_man1_MANS)
DATA = $(dist_pkgdata_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
AM_RECURSIVE_TARGETS = cscope
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ -DSYSRESPATH=\""$(pkgdatadir)"\"
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBUSB1_CFLAGS = @LIBUSB1_CFLAGS@
LIBUSB1_LIBS = @LIBUSB1_LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
RANLIB = @RANLIB@
SDL2_CONFIG = @SDL2_CONFIG@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
SDL_LIBS = @SDL_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XEXT_CFLAGS = @XEXT_CFLAGS@
XEXT_LIBS = @XEXT_LIBS@
XMKMF = @XMKMF@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
ax_pthread_config = @ax_pthread_config@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nasm = @nasm@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
real_topsrcdir = $(top_srcdir)/..
nodist_man1_MANS = xnp2.1 xnp2.1j $(am__append_3)
CLEANFILES = $(nodist_man1_MANS) make.log
dist_pkgdata_DATA = $(real_topsrcdir)/x11/resources/fddseek.wav \
$(real_topsrcdir)/x11/resources/fddseek1.wav \
$(real_topsrcdir)/np2tool/np2tool.d88
 
#EMUFM_SOURCES= $(real_topsrcdir)/sound/opl3.c \
# $(real_topsrcdir)/sound/opna.c
 
# CAVEAT:
# sccisoundinterfacemanager.cpp must be linked before externalchipmanager.cpp.
# Otherwise, it will take the curse of destructor calls the order of the
# global instances.
EXTFM_SOURCES = $(real_topsrcdir)/x11/ext/opl3.cpp \
$(real_topsrcdir)/x11/ext/opna.cpp \
$(real_topsrcdir)/x11/ext/c86ctl/c86ctlc86box.cpp \
$(real_topsrcdir)/x11/ext/c86ctl/c86ctlgimic.cpp \
$(real_topsrcdir)/x11/ext/c86ctl/c86ctlif.cpp \
$(real_topsrcdir)/x11/ext/c86ctl/c86ctlrealchipbase.cpp \
$(real_topsrcdir)/x11/ext/scci/scciif.cpp \
$(real_topsrcdir)/x11/ext/scci/sccisoundchip.cpp \
$(real_topsrcdir)/x11/ext/scci/sccisoundinterface.cpp \
$(real_topsrcdir)/x11/ext/scci/sccisoundinterfacemanager.cpp \
$(real_topsrcdir)/x11/ext/scci/sccispfmlight.cpp \
$(real_topsrcdir)/x11/ext/externalchipmanager.cpp \
$(real_topsrcdir)/x11/ext/externalopl3.cpp \
$(real_topsrcdir)/x11/ext/externalopm.cpp \
$(real_topsrcdir)/x11/ext/externalopna.cpp \
$(real_topsrcdir)/x11/ext/externalpsg.cpp
 
COMMON_SOURCES = $(real_topsrcdir)/x11/main.c \
$(real_topsrcdir)/x11/np2.c \
$(real_topsrcdir)/x11/dosio.c \
$(real_topsrcdir)/x11/ini.c \
$(real_topsrcdir)/x11/oemtext.c \
$(real_topsrcdir)/x11/trace.c \
$(real_topsrcdir)/x11/kdispwin.c \
$(real_topsrcdir)/x11/skbdwin.c \
$(real_topsrcdir)/x11/cmmidi.c \
$(real_topsrcdir)/x11/cmserial.c \
$(real_topsrcdir)/x11/drawmng.c \
$(real_topsrcdir)/x11/fontmng.c \
$(real_topsrcdir)/x11/kbdmng.c \
$(real_topsrcdir)/x11/commng.c \
$(real_topsrcdir)/x11/joymng.c \
$(real_topsrcdir)/x11/soundmng.c \
$(real_topsrcdir)/x11/sysmng.c \
$(real_topsrcdir)/x11/taskmng.c \
$(real_topsrcdir)/x11/timemng.c \
$(real_topsrcdir)/x11/gtk2/dialog_about.c \
$(real_topsrcdir)/x11/gtk2/dialog_calendar.c \
$(real_topsrcdir)/x11/gtk2/dialog_config.c \
$(real_topsrcdir)/x11/gtk2/dialog_midi.c \
$(real_topsrcdir)/x11/gtk2/dialog_newdisk.c \
$(real_topsrcdir)/x11/gtk2/dialog_screen.c \
$(real_topsrcdir)/x11/gtk2/dialog_sound.c \
$(real_topsrcdir)/x11/gtk2/window_keydisp.c \
$(real_topsrcdir)/x11/gtk2/window_softkbd.c \
$(real_topsrcdir)/x11/gtk2/gtk_drawmng.c \
$(real_topsrcdir)/x11/gtk2/gtk_screen.c \
$(real_topsrcdir)/x11/gtk2/gtk_font.c \
$(real_topsrcdir)/x11/gtk2/gtk_keyboard.c \
$(real_topsrcdir)/x11/gtk2/gtk_menu.c \
$(real_topsrcdir)/x11/gtk2/gtk_mouse.c \
$(real_topsrcdir)/x11/gtk2/gtk_main.c \
$(real_topsrcdir)/x11/gtk2/gtk_wrapper.c \
$(real_topsrcdir)/x11/debug/viewmem.c \
$(real_topsrcdir)/x11/misc/threadbase.cpp \
$(real_topsrcdir)/x11/misc/tty.cpp \
$(real_topsrcdir)/x11/misc/usbdev.cpp \
\
$(EXTFM_SOURCES) \
\
$(real_topsrcdir)/pccore.c \
$(real_topsrcdir)/nevent.c \
$(real_topsrcdir)/calendar.c \
$(real_topsrcdir)/timing.c \
$(real_topsrcdir)/statsave.c \
$(real_topsrcdir)/keystat.c \
\
$(real_topsrcdir)/common/strres.c \
$(real_topsrcdir)/common/milstr.c \
$(real_topsrcdir)/common/_memory.c \
$(real_topsrcdir)/common/textfile.c \
$(real_topsrcdir)/common/profile.c \
$(real_topsrcdir)/common/rect.c \
$(real_topsrcdir)/common/lstarray.c \
$(real_topsrcdir)/common/bmpdata.c \
$(real_topsrcdir)/common/mimpidef.c \
$(real_topsrcdir)/common/parts.c \
$(real_topsrcdir)/common/wavefile.c \
\
$(real_topsrcdir)/codecnv/eucsjis.c \
$(real_topsrcdir)/codecnv/eucucs2.c \
$(real_topsrcdir)/codecnv/sjiseuc.c \
$(real_topsrcdir)/codecnv/sjisucs2.c \
$(real_topsrcdir)/codecnv/tcswap16.c \
$(real_topsrcdir)/codecnv/tcswap32.c \
$(real_topsrcdir)/codecnv/textcnv.c \
$(real_topsrcdir)/codecnv/ucs2sjis.c \
$(real_topsrcdir)/codecnv/ucs2utf8.c \
$(real_topsrcdir)/codecnv/utf8ucs2.c \
\
$(real_topsrcdir)/bios/bios.c \
$(real_topsrcdir)/bios/bios09.c \
$(real_topsrcdir)/bios/bios0c.c \
$(real_topsrcdir)/bios/bios12.c \
$(real_topsrcdir)/bios/bios13.c \
$(real_topsrcdir)/bios/bios18.c \
$(real_topsrcdir)/bios/bios19.c \
$(real_topsrcdir)/bios/bios1a.c \
$(real_topsrcdir)/bios/bios1b.c \
$(real_topsrcdir)/bios/bios1c.c \
$(real_topsrcdir)/bios/bios1f.c \
$(real_topsrcdir)/bios/sxsibios.c \
\
$(real_topsrcdir)/cbus/cbuscore.c \
$(real_topsrcdir)/cbus/pc9861k.c \
$(real_topsrcdir)/cbus/mpu98ii.c \
$(real_topsrcdir)/cbus/amd98.c \
$(real_topsrcdir)/cbus/board118.c \
$(real_topsrcdir)/cbus/board14.c \
$(real_topsrcdir)/cbus/board26k.c \
$(real_topsrcdir)/cbus/board86.c \
$(real_topsrcdir)/cbus/boardso.c \
$(real_topsrcdir)/cbus/boardspb.c \
$(real_topsrcdir)/cbus/boardx2.c \
$(real_topsrcdir)/cbus/cs4231io.c \
$(real_topsrcdir)/cbus/pcm86io.c \
$(real_topsrcdir)/cbus/sasiio.c \
$(real_topsrcdir)/cbus/scsiio.c \
$(real_topsrcdir)/cbus/scsicmd.c \
$(real_topsrcdir)/cbus/ideio.c \
$(real_topsrcdir)/cbus/atapicmd.c \
\
$(real_topsrcdir)/fdd/diskdrv.c \
$(real_topsrcdir)/fdd/newdisk.c \
$(real_topsrcdir)/fdd/fddfile.c \
$(real_topsrcdir)/fdd/fdd_xdf.c \
$(real_topsrcdir)/fdd/fdd_d88.c \
$(real_topsrcdir)/fdd/fdd_mtr.c \
$(real_topsrcdir)/fdd/sxsi.c \
$(real_topsrcdir)/fdd/sxsihdd.c \
$(real_topsrcdir)/fdd/sxsicd.c \
\
$(real_topsrcdir)/font/font.c \
$(real_topsrcdir)/font/fontdata.c \
$(real_topsrcdir)/font/fontmake.c \
$(real_topsrcdir)/font/fontpc88.c \
$(real_topsrcdir)/font/fontpc98.c \
$(real_topsrcdir)/font/fontv98.c \
$(real_topsrcdir)/font/fontfm7.c \
$(real_topsrcdir)/font/fontx1.c \
$(real_topsrcdir)/font/fontx68k.c \
\
$(real_topsrcdir)/generic/cmndraw.c \
$(real_topsrcdir)/generic/keydisp.c \
$(real_topsrcdir)/generic/cmjasts.c \
$(real_topsrcdir)/generic/hostdrv.c \
$(real_topsrcdir)/generic/hostdrvs.c \
$(real_topsrcdir)/generic/unasm.c \
$(real_topsrcdir)/generic/np2info.c \
$(real_topsrcdir)/generic/memdbg32.c \
$(real_topsrcdir)/generic/softkbd.c \
\
$(real_topsrcdir)/io/iocore.c \
$(real_topsrcdir)/io/artic.c \
$(real_topsrcdir)/io/cgrom.c \
$(real_topsrcdir)/io/cpuio.c \
$(real_topsrcdir)/io/crtc.c \
$(real_topsrcdir)/io/dipsw.c \
$(real_topsrcdir)/io/dmac.c \
$(real_topsrcdir)/io/egc.c \
$(real_topsrcdir)/io/emsio.c \
$(real_topsrcdir)/io/fdc.c \
$(real_topsrcdir)/io/fdd320.c \
$(real_topsrcdir)/io/gdc.c \
$(real_topsrcdir)/io/gdc_sub.c \
$(real_topsrcdir)/io/gdc_pset.c \
$(real_topsrcdir)/io/mouseif.c \
$(real_topsrcdir)/io/nmiio.c \
$(real_topsrcdir)/io/np2sysp.c \
$(real_topsrcdir)/io/pic.c \
$(real_topsrcdir)/io/pit.c \
$(real_topsrcdir)/io/printif.c \
$(real_topsrcdir)/io/serial.c \
$(real_topsrcdir)/io/sysport.c \
$(real_topsrcdir)/io/upd4990.c \
$(real_topsrcdir)/io/necio.c \
$(real_topsrcdir)/io/epsonio.c \
$(real_topsrcdir)/io/pcidev.c \
\
$(real_topsrcdir)/lio/lio.c \
$(real_topsrcdir)/lio/gscreen.c \
$(real_topsrcdir)/lio/gpset.c \
$(real_topsrcdir)/lio/gline.c \
$(real_topsrcdir)/lio/gcircle.c \
$(real_topsrcdir)/lio/gput1.c \
\
$(real_topsrcdir)/mem/dmav30.c \
$(real_topsrcdir)/mem/dmax86.c \
$(real_topsrcdir)/mem/memegc.c \
$(real_topsrcdir)/mem/memems.c \
$(real_topsrcdir)/mem/memepp.c \
$(real_topsrcdir)/mem/memtram.c \
$(real_topsrcdir)/mem/memvga.c \
$(real_topsrcdir)/mem/memvram.c \
\
$(real_topsrcdir)/sound/sound.c \
$(real_topsrcdir)/sound/soundrom.c \
$(real_topsrcdir)/sound/s98.c \
$(real_topsrcdir)/sound/adpcmc.c \
$(real_topsrcdir)/sound/adpcmg.c \
$(real_topsrcdir)/sound/beepc.c \
$(real_topsrcdir)/sound/beepg.c \
$(real_topsrcdir)/sound/cs4231c.c \
$(real_topsrcdir)/sound/cs4231g.c \
$(real_topsrcdir)/sound/fmboard.c \
$(real_topsrcdir)/sound/oplgenc.c \
$(real_topsrcdir)/sound/oplgeng.c \
$(real_topsrcdir)/sound/opngenc.c \
$(real_topsrcdir)/sound/opngeng.c \
$(real_topsrcdir)/sound/opntimer.c \
$(real_topsrcdir)/sound/pcm86c.c \
$(real_topsrcdir)/sound/pcm86g.c \
$(real_topsrcdir)/sound/pcmmix.c \
$(real_topsrcdir)/sound/psggenc.c \
$(real_topsrcdir)/sound/psggeng.c \
$(real_topsrcdir)/sound/rhythmc.c \
$(real_topsrcdir)/sound/sndcsec.c \
$(real_topsrcdir)/sound/tms3631c.c \
$(real_topsrcdir)/sound/tms3631g.c \
$(real_topsrcdir)/sound/getsnd/getsnd.c \
$(real_topsrcdir)/sound/getsnd/getsmix.c \
$(real_topsrcdir)/sound/getsnd/getmp3.c \
$(real_topsrcdir)/sound/getsnd/getogg.c \
$(real_topsrcdir)/sound/getsnd/getwave.c \
$(real_topsrcdir)/sound/vermouth/midiout.c \
$(real_topsrcdir)/sound/vermouth/midimod.c \
$(real_topsrcdir)/sound/vermouth/midinst.c \
$(real_topsrcdir)/sound/vermouth/midvoice.c \
$(real_topsrcdir)/sound/vermouth/midtable.c \
\
$(real_topsrcdir)/vram/vram.c \
$(real_topsrcdir)/vram/scrndraw.c \
$(real_topsrcdir)/vram/sdraw.c \
$(real_topsrcdir)/vram/dispsync.c \
$(real_topsrcdir)/vram/palettes.c \
$(real_topsrcdir)/vram/maketext.c \
$(real_topsrcdir)/vram/maketgrp.c \
$(real_topsrcdir)/vram/makegrph.c \
$(real_topsrcdir)/vram/makegrex.c \
$(real_topsrcdir)/vram/scrnsave.c
 
xnp2_SOURCES = $(COMMON_SOURCES) $(am__append_4) $(am__append_6) \
$(am__append_8)
AM_CPPFLAGS = -I$(real_topsrcdir) -I$(real_topsrcdir)/x11 \
-I$(real_topsrcdir)/x11/gtk2 -I$(real_topsrcdir)/x11/debug \
-I$(real_topsrcdir)/common -I$(real_topsrcdir)/cbus \
-I$(real_topsrcdir)/generic -I$(real_topsrcdir)/io \
-I$(real_topsrcdir)/mem -I$(real_topsrcdir)/sound \
-I$(real_topsrcdir)/vram $(GTK_CFLAGS) $(SDL_CFLAGS) \
$(LIBUSB1_CFLAGS) $(X11_CFLAGS) $(XEXT_CFLAGS) $(am__append_1)
xnp2_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_5) $(am__append_7) \
$(am__append_9)
@HAVE_GCC_TRUE@AM_CFLAGS = -fsigned-char -fno-strict-aliasing
@HAVE_GCC_TRUE@AM_CXXFLAGS = $(AM_CFLAGS) -std=c++11
LDADD = $(GTK_LIBS) $(SDL_LIBS) $(LIBUSB1_LIBS) \
$(X11_LIBS) $(XEXT_LIBS) \
$(X_LIBS) $(X_PRE_LIBS) $(XLIB) $(X_EXTRA_LIBS)
 
I286C_SOURCES = $(real_topsrcdir)/i286c/i286c.c \
$(real_topsrcdir)/i286c/cpumem.c \
$(real_topsrcdir)/i286c/i286c_mn.c \
$(real_topsrcdir)/i286c/i286c_ea.c \
$(real_topsrcdir)/i286c/i286c_0f.c \
$(real_topsrcdir)/i286c/i286c_8x.c \
$(real_topsrcdir)/i286c/i286c_sf.c \
$(real_topsrcdir)/i286c/i286c_f6.c \
$(real_topsrcdir)/i286c/i286c_fe.c \
$(real_topsrcdir)/i286c/i286c_rp.c \
$(real_topsrcdir)/i286c/v30patch.c \
$(real_topsrcdir)/debugsub.c
 
I286C_CPPFLAGS = -I$(real_topsrcdir)/i286c
IA32_SOURCES = $(real_topsrcdir)/i386c/cpucore.c \
$(real_topsrcdir)/i386c/cpumem.c \
$(real_topsrcdir)/i386c/ia32/interface.c \
$(real_topsrcdir)/i386c/ia32/ia32.c \
$(real_topsrcdir)/i386c/ia32/cpu.c \
$(real_topsrcdir)/i386c/ia32/cpu_io.c \
$(real_topsrcdir)/i386c/ia32/cpu_mem.c \
$(real_topsrcdir)/i386c/ia32/ctrlxfer.c \
$(real_topsrcdir)/i386c/ia32/debug.c \
$(real_topsrcdir)/i386c/ia32/disasm.c \
$(real_topsrcdir)/i386c/ia32/exception.c \
$(real_topsrcdir)/i386c/ia32/groups.c \
$(real_topsrcdir)/i386c/ia32/inst_table.c \
$(real_topsrcdir)/i386c/ia32/paging.c \
$(real_topsrcdir)/i386c/ia32/resolve.c \
$(real_topsrcdir)/i386c/ia32/segments.c \
$(real_topsrcdir)/i386c/ia32/task.c \
$(real_topsrcdir)/i386c/ia32/instructions/bin_arith.c \
$(real_topsrcdir)/i386c/ia32/instructions/bit_byte.c \
$(real_topsrcdir)/i386c/ia32/instructions/ctrl_trans.c \
$(real_topsrcdir)/i386c/ia32/instructions/data_trans.c \
$(real_topsrcdir)/i386c/ia32/instructions/dec_arith.c \
$(real_topsrcdir)/i386c/ia32/instructions/flag_ctrl.c \
$(real_topsrcdir)/i386c/ia32/instructions/fpu.c \
$(real_topsrcdir)/i386c/ia32/instructions/logic_arith.c \
$(real_topsrcdir)/i386c/ia32/instructions/misc_inst.c \
$(real_topsrcdir)/i386c/ia32/instructions/seg_reg.c \
$(real_topsrcdir)/i386c/ia32/instructions/shift_rotate.c \
$(real_topsrcdir)/i386c/ia32/instructions/string_inst.c \
$(real_topsrcdir)/i386c/ia32/instructions/system_inst.c \
$(real_topsrcdir)/i386c/ia32/instructions/fpu/fpdummy.c \
$(real_topsrcdir)/debugsub386.c
 
IA32_CPPFLAGS = -I$(real_topsrcdir)/i386c \
-I$(real_topsrcdir)/i386c/ia32 \
-I$(real_topsrcdir)/i386c/ia32/instructions \
-I$(real_topsrcdir)/i386c/ia32/instructions/fpu \
-DCPUCORE_IA32
 
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@xnp21_SOURCES = $(COMMON_SOURCES) $(IA32_SOURCES)
@BUILD_ALL_TRUE@@CPUCORE_IA32_TRUE@xnp21_CPPFLAGS = $(AM_CPPFLAGS) $(IA32_CPPFLAGS)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
 
.SUFFIXES:
.SUFFIXES: .1 .1j .c .cpp .jman1 .man1 .o .obj
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign --ignore-deps'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign --ignore-deps \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign --ignore-deps Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
 
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
 
$(top_srcdir)/configure: $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
 
config.h: stamp-h1
@test -f $@ || rm -f stamp-h1
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
 
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1
touch $@
 
distclean-hdr:
-rm -f config.h stamp-h1
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
 
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
$(real_topsrcdir)/x11/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/x11
@: > $(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-main.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-np2.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-dosio.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-ini.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-oemtext.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-trace.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-kdispwin.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-skbdwin.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-cmmidi.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-cmserial.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-drawmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-fontmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-kbdmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-commng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-joymng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-soundmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-sysmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-taskmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp2-timemng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/x11/gtk2
@: > $(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_about.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_calendar.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_config.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_midi.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_newdisk.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_screen.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_sound.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-window_keydisp.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-window_softkbd.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_drawmng.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_screen.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_font.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_keyboard.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_menu.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_mouse.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_main.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_wrapper.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/debug/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/x11/debug
@: > $(real_topsrcdir)/x11/debug/$(am__dirstamp)
$(real_topsrcdir)/x11/debug/xnp2-viewmem.$(OBJEXT): \
$(real_topsrcdir)/x11/debug/$(am__dirstamp)
$(real_topsrcdir)/x11/misc/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/x11/misc
@: > $(real_topsrcdir)/x11/misc/$(am__dirstamp)
$(real_topsrcdir)/x11/misc/xnp2-threadbase.$(OBJEXT): \
$(real_topsrcdir)/x11/misc/$(am__dirstamp)
$(real_topsrcdir)/x11/misc/xnp2-tty.$(OBJEXT): \
$(real_topsrcdir)/x11/misc/$(am__dirstamp)
$(real_topsrcdir)/x11/misc/xnp2-usbdev.$(OBJEXT): \
$(real_topsrcdir)/x11/misc/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/x11/ext
@: > $(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp2-opl3.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp2-opna.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/c86ctl/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/x11/ext/c86ctl
@: > $(real_topsrcdir)/x11/ext/c86ctl/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/c86ctl/xnp2-c86ctlc86box.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/c86ctl/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/c86ctl/xnp2-c86ctlgimic.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/c86ctl/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/c86ctl/xnp2-c86ctlif.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/c86ctl/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/c86ctl/xnp2-c86ctlrealchipbase.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/c86ctl/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/x11/ext/scci
@: > $(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/xnp2-scciif.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/xnp2-sccisoundchip.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/xnp2-sccisoundinterface.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/xnp2-sccisoundinterfacemanager.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/xnp2-sccispfmlight.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp2-externalchipmanager.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp2-externalopl3.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp2-externalopm.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp2-externalopna.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp2-externalpsg.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)
@: > $(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp2-pccore.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp2-nevent.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp2-calendar.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp2-timing.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp2-statsave.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp2-keystat.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/common/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/common
@: > $(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-strres.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-milstr.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-_memory.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-textfile.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-profile.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-rect.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-lstarray.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-bmpdata.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-mimpidef.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-parts.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp2-wavefile.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/codecnv/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/codecnv
@: > $(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp2-eucsjis.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp2-eucucs2.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp2-sjiseuc.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp2-sjisucs2.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp2-tcswap16.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp2-tcswap32.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp2-textcnv.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp2-ucs2sjis.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp2-ucs2utf8.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp2-utf8ucs2.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/bios/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/bios
@: > $(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios09.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios0c.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios12.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios13.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios18.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios19.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios1a.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios1b.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios1c.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-bios1f.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp2-sxsibios.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/cbus/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/cbus
@: > $(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-cbuscore.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-pc9861k.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-mpu98ii.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-amd98.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-board118.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-board14.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-board26k.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-board86.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-boardso.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-boardspb.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-boardx2.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-cs4231io.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-pcm86io.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-sasiio.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-scsiio.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-scsicmd.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-ideio.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp2-atapicmd.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/fdd/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/fdd
@: > $(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp2-diskdrv.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp2-newdisk.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp2-fddfile.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp2-fdd_xdf.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp2-fdd_d88.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp2-fdd_mtr.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp2-sxsi.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp2-sxsihdd.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp2-sxsicd.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/font/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/font
@: > $(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp2-font.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp2-fontdata.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp2-fontmake.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp2-fontpc88.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp2-fontpc98.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp2-fontv98.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp2-fontfm7.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp2-fontx1.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp2-fontx68k.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/generic/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/generic
@: > $(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp2-cmndraw.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp2-keydisp.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp2-cmjasts.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp2-hostdrv.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp2-hostdrvs.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp2-unasm.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp2-np2info.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp2-memdbg32.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp2-softkbd.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/io/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/io
@: > $(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-iocore.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-artic.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-cgrom.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-cpuio.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-crtc.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-dipsw.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-dmac.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-egc.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-emsio.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-fdc.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-fdd320.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-gdc.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-gdc_sub.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-gdc_pset.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-mouseif.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-nmiio.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-np2sysp.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-pic.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-pit.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-printif.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-serial.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-sysport.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-upd4990.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-necio.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-epsonio.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp2-pcidev.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/lio/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/lio
@: > $(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp2-lio.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp2-gscreen.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp2-gpset.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp2-gline.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp2-gcircle.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp2-gput1.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/mem/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/mem
@: > $(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp2-dmav30.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp2-dmax86.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp2-memegc.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp2-memems.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp2-memepp.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp2-memtram.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp2-memvga.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp2-memvram.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/sound/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/sound
@: > $(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-sound.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-soundrom.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-s98.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-adpcmc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-adpcmg.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-beepc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-beepg.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-cs4231c.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-cs4231g.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-fmboard.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-oplgenc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-oplgeng.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-opngenc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-opngeng.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-opntimer.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-pcm86c.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-pcm86g.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-pcmmix.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-psggenc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-psggeng.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-rhythmc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-sndcsec.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-tms3631c.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp2-tms3631g.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/sound/getsnd
@: > $(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/xnp2-getsnd.$(OBJEXT): \
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/xnp2-getsmix.$(OBJEXT): \
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/xnp2-getmp3.$(OBJEXT): \
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/xnp2-getogg.$(OBJEXT): \
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/xnp2-getwave.$(OBJEXT): \
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/sound/vermouth
@: > $(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/xnp2-midiout.$(OBJEXT): \
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/xnp2-midimod.$(OBJEXT): \
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/xnp2-midinst.$(OBJEXT): \
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/xnp2-midvoice.$(OBJEXT): \
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/xnp2-midtable.$(OBJEXT): \
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/vram/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/vram
@: > $(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp2-vram.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp2-scrndraw.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp2-sdraw.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp2-dispsync.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp2-palettes.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp2-maketext.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp2-maketgrp.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp2-makegrph.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp2-makegrex.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp2-scrnsave.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/i286c/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/i286c
@: > $(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-i286c.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-cpumem.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-i286c_mn.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-i286c_ea.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-i286c_0f.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-i286c_8x.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-i286c_sf.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-i286c_f6.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-i286c_fe.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-i286c_rp.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/i286c/xnp2-v30patch.$(OBJEXT): \
$(real_topsrcdir)/i286c/$(am__dirstamp)
$(real_topsrcdir)/xnp2-debugsub.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/i386c/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/i386c
@: > $(real_topsrcdir)/i386c/$(am__dirstamp)
$(real_topsrcdir)/i386c/xnp2-cpucore.$(OBJEXT): \
$(real_topsrcdir)/i386c/$(am__dirstamp)
$(real_topsrcdir)/i386c/xnp2-cpumem.$(OBJEXT): \
$(real_topsrcdir)/i386c/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/i386c/ia32
@: > $(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-interface.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-ia32.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-cpu.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-cpu_io.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-cpu_mem.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-ctrlxfer.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-debug.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-disasm.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-exception.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-groups.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-inst_table.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-paging.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-resolve.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-segments.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp2-task.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/i386c/ia32/instructions
@: > $(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-bin_arith.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-bit_byte.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-ctrl_trans.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-data_trans.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-dec_arith.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-flag_ctrl.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-fpu.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-logic_arith.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-misc_inst.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-seg_reg.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-shift_rotate.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-string_inst.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp2-system_inst.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/fpu/$(am__dirstamp):
@$(MKDIR_P) $(real_topsrcdir)/i386c/ia32/instructions/fpu
@: > $(real_topsrcdir)/i386c/ia32/instructions/fpu/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/fpu/xnp2-fpdummy.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/fpu/$(am__dirstamp)
$(real_topsrcdir)/xnp2-debugsub386.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
 
xnp2$(EXEEXT): $(xnp2_OBJECTS) $(xnp2_DEPENDENCIES) $(EXTRA_xnp2_DEPENDENCIES)
@rm -f xnp2$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(xnp2_OBJECTS) $(xnp2_LDADD) $(LIBS)
$(real_topsrcdir)/x11/xnp21-main.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-np2.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-dosio.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-ini.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-oemtext.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-trace.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-kdispwin.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-skbdwin.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-cmmidi.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-cmserial.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-drawmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-fontmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-kbdmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-commng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-joymng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-soundmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-sysmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-taskmng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/xnp21-timemng.$(OBJEXT): \
$(real_topsrcdir)/x11/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_about.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_calendar.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_config.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_midi.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_newdisk.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_screen.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-dialog_sound.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-window_keydisp.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-window_softkbd.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_drawmng.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_screen.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_font.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_keyboard.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_menu.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_mouse.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_main.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/gtk2/xnp21-gtk_wrapper.$(OBJEXT): \
$(real_topsrcdir)/x11/gtk2/$(am__dirstamp)
$(real_topsrcdir)/x11/debug/xnp21-viewmem.$(OBJEXT): \
$(real_topsrcdir)/x11/debug/$(am__dirstamp)
$(real_topsrcdir)/x11/misc/xnp21-threadbase.$(OBJEXT): \
$(real_topsrcdir)/x11/misc/$(am__dirstamp)
$(real_topsrcdir)/x11/misc/xnp21-tty.$(OBJEXT): \
$(real_topsrcdir)/x11/misc/$(am__dirstamp)
$(real_topsrcdir)/x11/misc/xnp21-usbdev.$(OBJEXT): \
$(real_topsrcdir)/x11/misc/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp21-opl3.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp21-opna.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/c86ctl/xnp21-c86ctlc86box.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/c86ctl/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/c86ctl/xnp21-c86ctlgimic.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/c86ctl/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/c86ctl/xnp21-c86ctlif.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/c86ctl/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/c86ctl/xnp21-c86ctlrealchipbase.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/c86ctl/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/xnp21-scciif.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/xnp21-sccisoundchip.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/xnp21-sccisoundinterface.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/xnp21-sccisoundinterfacemanager.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/scci/xnp21-sccispfmlight.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/scci/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp21-externalchipmanager.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp21-externalopl3.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp21-externalopm.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp21-externalopna.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/x11/ext/xnp21-externalpsg.$(OBJEXT): \
$(real_topsrcdir)/x11/ext/$(am__dirstamp)
$(real_topsrcdir)/xnp21-pccore.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp21-nevent.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp21-calendar.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp21-timing.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp21-statsave.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/xnp21-keystat.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-strres.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-milstr.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-_memory.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-textfile.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-profile.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-rect.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-lstarray.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-bmpdata.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-mimpidef.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-parts.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/common/xnp21-wavefile.$(OBJEXT): \
$(real_topsrcdir)/common/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp21-eucsjis.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp21-eucucs2.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp21-sjiseuc.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp21-sjisucs2.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp21-tcswap16.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp21-tcswap32.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp21-textcnv.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp21-ucs2sjis.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp21-ucs2utf8.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/codecnv/xnp21-utf8ucs2.$(OBJEXT): \
$(real_topsrcdir)/codecnv/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios09.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios0c.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios12.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios13.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios18.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios19.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios1a.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios1b.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios1c.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-bios1f.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/bios/xnp21-sxsibios.$(OBJEXT): \
$(real_topsrcdir)/bios/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-cbuscore.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-pc9861k.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-mpu98ii.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-amd98.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-board118.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-board14.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-board26k.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-board86.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-boardso.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-boardspb.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-boardx2.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-cs4231io.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-pcm86io.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-sasiio.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-scsiio.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-scsicmd.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-ideio.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/cbus/xnp21-atapicmd.$(OBJEXT): \
$(real_topsrcdir)/cbus/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp21-diskdrv.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp21-newdisk.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp21-fddfile.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp21-fdd_xdf.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp21-fdd_d88.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp21-fdd_mtr.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp21-sxsi.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp21-sxsihdd.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/fdd/xnp21-sxsicd.$(OBJEXT): \
$(real_topsrcdir)/fdd/$(am__dirstamp)
$(real_topsrcdir)/font/xnp21-font.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp21-fontdata.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp21-fontmake.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp21-fontpc88.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp21-fontpc98.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp21-fontv98.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp21-fontfm7.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp21-fontx1.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/font/xnp21-fontx68k.$(OBJEXT): \
$(real_topsrcdir)/font/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp21-cmndraw.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp21-keydisp.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp21-cmjasts.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp21-hostdrv.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp21-hostdrvs.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp21-unasm.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp21-np2info.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp21-memdbg32.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/generic/xnp21-softkbd.$(OBJEXT): \
$(real_topsrcdir)/generic/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-iocore.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-artic.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-cgrom.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-cpuio.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-crtc.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-dipsw.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-dmac.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-egc.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-emsio.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-fdc.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-fdd320.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-gdc.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-gdc_sub.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-gdc_pset.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-mouseif.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-nmiio.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-np2sysp.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-pic.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-pit.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-printif.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-serial.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-sysport.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-upd4990.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-necio.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-epsonio.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/io/xnp21-pcidev.$(OBJEXT): \
$(real_topsrcdir)/io/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp21-lio.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp21-gscreen.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp21-gpset.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp21-gline.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp21-gcircle.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/lio/xnp21-gput1.$(OBJEXT): \
$(real_topsrcdir)/lio/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp21-dmav30.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp21-dmax86.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp21-memegc.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp21-memems.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp21-memepp.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp21-memtram.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp21-memvga.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/mem/xnp21-memvram.$(OBJEXT): \
$(real_topsrcdir)/mem/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-sound.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-soundrom.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-s98.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-adpcmc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-adpcmg.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-beepc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-beepg.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-cs4231c.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-cs4231g.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-fmboard.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-oplgenc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-oplgeng.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-opngenc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-opngeng.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-opntimer.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-pcm86c.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-pcm86g.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-pcmmix.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-psggenc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-psggeng.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-rhythmc.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-sndcsec.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-tms3631c.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/xnp21-tms3631g.$(OBJEXT): \
$(real_topsrcdir)/sound/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/xnp21-getsnd.$(OBJEXT): \
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/xnp21-getsmix.$(OBJEXT): \
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/xnp21-getmp3.$(OBJEXT): \
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/xnp21-getogg.$(OBJEXT): \
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/getsnd/xnp21-getwave.$(OBJEXT): \
$(real_topsrcdir)/sound/getsnd/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/xnp21-midiout.$(OBJEXT): \
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/xnp21-midimod.$(OBJEXT): \
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/xnp21-midinst.$(OBJEXT): \
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/xnp21-midvoice.$(OBJEXT): \
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/sound/vermouth/xnp21-midtable.$(OBJEXT): \
$(real_topsrcdir)/sound/vermouth/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp21-vram.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp21-scrndraw.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp21-sdraw.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp21-dispsync.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp21-palettes.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp21-maketext.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp21-maketgrp.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp21-makegrph.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp21-makegrex.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/vram/xnp21-scrnsave.$(OBJEXT): \
$(real_topsrcdir)/vram/$(am__dirstamp)
$(real_topsrcdir)/i386c/xnp21-cpucore.$(OBJEXT): \
$(real_topsrcdir)/i386c/$(am__dirstamp)
$(real_topsrcdir)/i386c/xnp21-cpumem.$(OBJEXT): \
$(real_topsrcdir)/i386c/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-interface.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-ia32.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-cpu.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-cpu_io.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-cpu_mem.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-ctrlxfer.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-debug.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-disasm.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-exception.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-groups.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-inst_table.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-paging.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-resolve.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-segments.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/xnp21-task.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-bin_arith.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-bit_byte.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-ctrl_trans.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-data_trans.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-dec_arith.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-flag_ctrl.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-fpu.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-logic_arith.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-misc_inst.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-seg_reg.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-shift_rotate.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-string_inst.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/xnp21-system_inst.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/$(am__dirstamp)
$(real_topsrcdir)/i386c/ia32/instructions/fpu/xnp21-fpdummy.$(OBJEXT): \
$(real_topsrcdir)/i386c/ia32/instructions/fpu/$(am__dirstamp)
$(real_topsrcdir)/xnp21-debugsub386.$(OBJEXT): \
$(real_topsrcdir)/$(am__dirstamp)
 
xnp21$(EXEEXT): $(xnp21_OBJECTS) $(xnp21_DEPENDENCIES) $(EXTRA_xnp21_DEPENDENCIES)
@rm -f xnp21$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(xnp21_OBJECTS) $(xnp21_LDADD) $(LIBS)
 
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f $(real_topsrcdir)/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/bios/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/cbus/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/codecnv/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/common/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/fdd/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/font/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/generic/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/i286c/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/i386c/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/i386c/ia32/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/i386c/ia32/instructions/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/i386c/ia32/instructions/fpu/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/io/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/lio/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/mem/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/sound/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/sound/getsnd/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/sound/vermouth/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/vram/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/x11/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/x11/debug/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/x11/ext/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/x11/ext/c86ctl/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/x11/ext/scci/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/x11/gtk2/*.$(OBJEXT)
-rm -f $(real_topsrcdir)/x11/misc/*.$(OBJEXT)
 
distclean-compile:
-rm -f *.tab.c
 
.c.o:
$(AM_V_CC)$(COMPILE) -c -o $@ $<
 
.c.obj:
$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
$(real_topsrcdir)/x11/xnp2-main.o: $(real_topsrcdir)/x11/main.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-main.o `test -f '$(real_topsrcdir)/x11/main.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/main.c
 
$(real_topsrcdir)/x11/xnp2-main.obj: $(real_topsrcdir)/x11/main.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-main.obj `if test -f '$(real_topsrcdir)/x11/main.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/main.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/main.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-np2.o: $(real_topsrcdir)/x11/np2.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-np2.o `test -f '$(real_topsrcdir)/x11/np2.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/np2.c
 
$(real_topsrcdir)/x11/xnp2-np2.obj: $(real_topsrcdir)/x11/np2.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-np2.obj `if test -f '$(real_topsrcdir)/x11/np2.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/np2.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/np2.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-dosio.o: $(real_topsrcdir)/x11/dosio.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-dosio.o `test -f '$(real_topsrcdir)/x11/dosio.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/dosio.c
 
$(real_topsrcdir)/x11/xnp2-dosio.obj: $(real_topsrcdir)/x11/dosio.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-dosio.obj `if test -f '$(real_topsrcdir)/x11/dosio.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/dosio.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/dosio.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-ini.o: $(real_topsrcdir)/x11/ini.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-ini.o `test -f '$(real_topsrcdir)/x11/ini.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/ini.c
 
$(real_topsrcdir)/x11/xnp2-ini.obj: $(real_topsrcdir)/x11/ini.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-ini.obj `if test -f '$(real_topsrcdir)/x11/ini.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/ini.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/ini.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-oemtext.o: $(real_topsrcdir)/x11/oemtext.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-oemtext.o `test -f '$(real_topsrcdir)/x11/oemtext.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/oemtext.c
 
$(real_topsrcdir)/x11/xnp2-oemtext.obj: $(real_topsrcdir)/x11/oemtext.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-oemtext.obj `if test -f '$(real_topsrcdir)/x11/oemtext.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/oemtext.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/oemtext.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-trace.o: $(real_topsrcdir)/x11/trace.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-trace.o `test -f '$(real_topsrcdir)/x11/trace.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/trace.c
 
$(real_topsrcdir)/x11/xnp2-trace.obj: $(real_topsrcdir)/x11/trace.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-trace.obj `if test -f '$(real_topsrcdir)/x11/trace.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/trace.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/trace.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-kdispwin.o: $(real_topsrcdir)/x11/kdispwin.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-kdispwin.o `test -f '$(real_topsrcdir)/x11/kdispwin.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/kdispwin.c
 
$(real_topsrcdir)/x11/xnp2-kdispwin.obj: $(real_topsrcdir)/x11/kdispwin.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-kdispwin.obj `if test -f '$(real_topsrcdir)/x11/kdispwin.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/kdispwin.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/kdispwin.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-skbdwin.o: $(real_topsrcdir)/x11/skbdwin.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-skbdwin.o `test -f '$(real_topsrcdir)/x11/skbdwin.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/skbdwin.c
 
$(real_topsrcdir)/x11/xnp2-skbdwin.obj: $(real_topsrcdir)/x11/skbdwin.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-skbdwin.obj `if test -f '$(real_topsrcdir)/x11/skbdwin.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/skbdwin.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/skbdwin.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-cmmidi.o: $(real_topsrcdir)/x11/cmmidi.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-cmmidi.o `test -f '$(real_topsrcdir)/x11/cmmidi.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/cmmidi.c
 
$(real_topsrcdir)/x11/xnp2-cmmidi.obj: $(real_topsrcdir)/x11/cmmidi.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-cmmidi.obj `if test -f '$(real_topsrcdir)/x11/cmmidi.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/cmmidi.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/cmmidi.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-cmserial.o: $(real_topsrcdir)/x11/cmserial.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-cmserial.o `test -f '$(real_topsrcdir)/x11/cmserial.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/cmserial.c
 
$(real_topsrcdir)/x11/xnp2-cmserial.obj: $(real_topsrcdir)/x11/cmserial.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-cmserial.obj `if test -f '$(real_topsrcdir)/x11/cmserial.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/cmserial.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/cmserial.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-drawmng.o: $(real_topsrcdir)/x11/drawmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-drawmng.o `test -f '$(real_topsrcdir)/x11/drawmng.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/drawmng.c
 
$(real_topsrcdir)/x11/xnp2-drawmng.obj: $(real_topsrcdir)/x11/drawmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-drawmng.obj `if test -f '$(real_topsrcdir)/x11/drawmng.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/drawmng.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/drawmng.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-fontmng.o: $(real_topsrcdir)/x11/fontmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-fontmng.o `test -f '$(real_topsrcdir)/x11/fontmng.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/fontmng.c
 
$(real_topsrcdir)/x11/xnp2-fontmng.obj: $(real_topsrcdir)/x11/fontmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-fontmng.obj `if test -f '$(real_topsrcdir)/x11/fontmng.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/fontmng.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/fontmng.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-kbdmng.o: $(real_topsrcdir)/x11/kbdmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-kbdmng.o `test -f '$(real_topsrcdir)/x11/kbdmng.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/kbdmng.c
 
$(real_topsrcdir)/x11/xnp2-kbdmng.obj: $(real_topsrcdir)/x11/kbdmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-kbdmng.obj `if test -f '$(real_topsrcdir)/x11/kbdmng.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/kbdmng.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/kbdmng.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-commng.o: $(real_topsrcdir)/x11/commng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-commng.o `test -f '$(real_topsrcdir)/x11/commng.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/commng.c
 
$(real_topsrcdir)/x11/xnp2-commng.obj: $(real_topsrcdir)/x11/commng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-commng.obj `if test -f '$(real_topsrcdir)/x11/commng.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/commng.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/commng.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-joymng.o: $(real_topsrcdir)/x11/joymng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-joymng.o `test -f '$(real_topsrcdir)/x11/joymng.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/joymng.c
 
$(real_topsrcdir)/x11/xnp2-joymng.obj: $(real_topsrcdir)/x11/joymng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-joymng.obj `if test -f '$(real_topsrcdir)/x11/joymng.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/joymng.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/joymng.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-soundmng.o: $(real_topsrcdir)/x11/soundmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-soundmng.o `test -f '$(real_topsrcdir)/x11/soundmng.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/soundmng.c
 
$(real_topsrcdir)/x11/xnp2-soundmng.obj: $(real_topsrcdir)/x11/soundmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-soundmng.obj `if test -f '$(real_topsrcdir)/x11/soundmng.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/soundmng.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/soundmng.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-sysmng.o: $(real_topsrcdir)/x11/sysmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-sysmng.o `test -f '$(real_topsrcdir)/x11/sysmng.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/sysmng.c
 
$(real_topsrcdir)/x11/xnp2-sysmng.obj: $(real_topsrcdir)/x11/sysmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-sysmng.obj `if test -f '$(real_topsrcdir)/x11/sysmng.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/sysmng.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/sysmng.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-taskmng.o: $(real_topsrcdir)/x11/taskmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-taskmng.o `test -f '$(real_topsrcdir)/x11/taskmng.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/taskmng.c
 
$(real_topsrcdir)/x11/xnp2-taskmng.obj: $(real_topsrcdir)/x11/taskmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-taskmng.obj `if test -f '$(real_topsrcdir)/x11/taskmng.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/taskmng.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/taskmng.c'; fi`
 
$(real_topsrcdir)/x11/xnp2-timemng.o: $(real_topsrcdir)/x11/timemng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-timemng.o `test -f '$(real_topsrcdir)/x11/timemng.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/timemng.c
 
$(real_topsrcdir)/x11/xnp2-timemng.obj: $(real_topsrcdir)/x11/timemng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/xnp2-timemng.obj `if test -f '$(real_topsrcdir)/x11/timemng.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/timemng.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/timemng.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_about.o: $(real_topsrcdir)/x11/gtk2/dialog_about.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_about.o `test -f '$(real_topsrcdir)/x11/gtk2/dialog_about.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/dialog_about.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_about.obj: $(real_topsrcdir)/x11/gtk2/dialog_about.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_about.obj `if test -f '$(real_topsrcdir)/x11/gtk2/dialog_about.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/dialog_about.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/dialog_about.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_calendar.o: $(real_topsrcdir)/x11/gtk2/dialog_calendar.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_calendar.o `test -f '$(real_topsrcdir)/x11/gtk2/dialog_calendar.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/dialog_calendar.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_calendar.obj: $(real_topsrcdir)/x11/gtk2/dialog_calendar.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_calendar.obj `if test -f '$(real_topsrcdir)/x11/gtk2/dialog_calendar.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/dialog_calendar.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/dialog_calendar.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_config.o: $(real_topsrcdir)/x11/gtk2/dialog_config.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_config.o `test -f '$(real_topsrcdir)/x11/gtk2/dialog_config.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/dialog_config.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_config.obj: $(real_topsrcdir)/x11/gtk2/dialog_config.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_config.obj `if test -f '$(real_topsrcdir)/x11/gtk2/dialog_config.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/dialog_config.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/dialog_config.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_midi.o: $(real_topsrcdir)/x11/gtk2/dialog_midi.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_midi.o `test -f '$(real_topsrcdir)/x11/gtk2/dialog_midi.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/dialog_midi.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_midi.obj: $(real_topsrcdir)/x11/gtk2/dialog_midi.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_midi.obj `if test -f '$(real_topsrcdir)/x11/gtk2/dialog_midi.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/dialog_midi.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/dialog_midi.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_newdisk.o: $(real_topsrcdir)/x11/gtk2/dialog_newdisk.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_newdisk.o `test -f '$(real_topsrcdir)/x11/gtk2/dialog_newdisk.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/dialog_newdisk.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_newdisk.obj: $(real_topsrcdir)/x11/gtk2/dialog_newdisk.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_newdisk.obj `if test -f '$(real_topsrcdir)/x11/gtk2/dialog_newdisk.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/dialog_newdisk.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/dialog_newdisk.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_screen.o: $(real_topsrcdir)/x11/gtk2/dialog_screen.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_screen.o `test -f '$(real_topsrcdir)/x11/gtk2/dialog_screen.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/dialog_screen.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_screen.obj: $(real_topsrcdir)/x11/gtk2/dialog_screen.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_screen.obj `if test -f '$(real_topsrcdir)/x11/gtk2/dialog_screen.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/dialog_screen.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/dialog_screen.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_sound.o: $(real_topsrcdir)/x11/gtk2/dialog_sound.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_sound.o `test -f '$(real_topsrcdir)/x11/gtk2/dialog_sound.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/dialog_sound.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-dialog_sound.obj: $(real_topsrcdir)/x11/gtk2/dialog_sound.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-dialog_sound.obj `if test -f '$(real_topsrcdir)/x11/gtk2/dialog_sound.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/dialog_sound.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/dialog_sound.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-window_keydisp.o: $(real_topsrcdir)/x11/gtk2/window_keydisp.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-window_keydisp.o `test -f '$(real_topsrcdir)/x11/gtk2/window_keydisp.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/window_keydisp.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-window_keydisp.obj: $(real_topsrcdir)/x11/gtk2/window_keydisp.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-window_keydisp.obj `if test -f '$(real_topsrcdir)/x11/gtk2/window_keydisp.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/window_keydisp.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/window_keydisp.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-window_softkbd.o: $(real_topsrcdir)/x11/gtk2/window_softkbd.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-window_softkbd.o `test -f '$(real_topsrcdir)/x11/gtk2/window_softkbd.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/window_softkbd.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-window_softkbd.obj: $(real_topsrcdir)/x11/gtk2/window_softkbd.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-window_softkbd.obj `if test -f '$(real_topsrcdir)/x11/gtk2/window_softkbd.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/window_softkbd.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/window_softkbd.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_drawmng.o: $(real_topsrcdir)/x11/gtk2/gtk_drawmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_drawmng.o `test -f '$(real_topsrcdir)/x11/gtk2/gtk_drawmng.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/gtk_drawmng.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_drawmng.obj: $(real_topsrcdir)/x11/gtk2/gtk_drawmng.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_drawmng.obj `if test -f '$(real_topsrcdir)/x11/gtk2/gtk_drawmng.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/gtk_drawmng.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/gtk_drawmng.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_screen.o: $(real_topsrcdir)/x11/gtk2/gtk_screen.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_screen.o `test -f '$(real_topsrcdir)/x11/gtk2/gtk_screen.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/gtk_screen.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_screen.obj: $(real_topsrcdir)/x11/gtk2/gtk_screen.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_screen.obj `if test -f '$(real_topsrcdir)/x11/gtk2/gtk_screen.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/gtk_screen.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/gtk_screen.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_font.o: $(real_topsrcdir)/x11/gtk2/gtk_font.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_font.o `test -f '$(real_topsrcdir)/x11/gtk2/gtk_font.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/gtk_font.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_font.obj: $(real_topsrcdir)/x11/gtk2/gtk_font.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_font.obj `if test -f '$(real_topsrcdir)/x11/gtk2/gtk_font.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/gtk_font.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/gtk_font.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_keyboard.o: $(real_topsrcdir)/x11/gtk2/gtk_keyboard.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_keyboard.o `test -f '$(real_topsrcdir)/x11/gtk2/gtk_keyboard.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/gtk_keyboard.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_keyboard.obj: $(real_topsrcdir)/x11/gtk2/gtk_keyboard.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_keyboard.obj `if test -f '$(real_topsrcdir)/x11/gtk2/gtk_keyboard.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/gtk_keyboard.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/gtk_keyboard.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_menu.o: $(real_topsrcdir)/x11/gtk2/gtk_menu.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_menu.o `test -f '$(real_topsrcdir)/x11/gtk2/gtk_menu.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/gtk_menu.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_menu.obj: $(real_topsrcdir)/x11/gtk2/gtk_menu.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_menu.obj `if test -f '$(real_topsrcdir)/x11/gtk2/gtk_menu.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/gtk_menu.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/gtk_menu.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_mouse.o: $(real_topsrcdir)/x11/gtk2/gtk_mouse.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_mouse.o `test -f '$(real_topsrcdir)/x11/gtk2/gtk_mouse.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/gtk_mouse.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_mouse.obj: $(real_topsrcdir)/x11/gtk2/gtk_mouse.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_mouse.obj `if test -f '$(real_topsrcdir)/x11/gtk2/gtk_mouse.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/gtk_mouse.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/gtk_mouse.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_main.o: $(real_topsrcdir)/x11/gtk2/gtk_main.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_main.o `test -f '$(real_topsrcdir)/x11/gtk2/gtk_main.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/gtk_main.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_main.obj: $(real_topsrcdir)/x11/gtk2/gtk_main.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_main.obj `if test -f '$(real_topsrcdir)/x11/gtk2/gtk_main.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/gtk_main.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/gtk_main.c'; fi`
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_wrapper.o: $(real_topsrcdir)/x11/gtk2/gtk_wrapper.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_wrapper.o `test -f '$(real_topsrcdir)/x11/gtk2/gtk_wrapper.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/gtk2/gtk_wrapper.c
 
$(real_topsrcdir)/x11/gtk2/xnp2-gtk_wrapper.obj: $(real_topsrcdir)/x11/gtk2/gtk_wrapper.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/gtk2/xnp2-gtk_wrapper.obj `if test -f '$(real_topsrcdir)/x11/gtk2/gtk_wrapper.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/gtk2/gtk_wrapper.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/gtk2/gtk_wrapper.c'; fi`
 
$(real_topsrcdir)/x11/debug/xnp2-viewmem.o: $(real_topsrcdir)/x11/debug/viewmem.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/debug/xnp2-viewmem.o `test -f '$(real_topsrcdir)/x11/debug/viewmem.c' || echo '$(srcdir)/'`$(real_topsrcdir)/x11/debug/viewmem.c
 
$(real_topsrcdir)/x11/debug/xnp2-viewmem.obj: $(real_topsrcdir)/x11/debug/viewmem.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/x11/debug/xnp2-viewmem.obj `if test -f '$(real_topsrcdir)/x11/debug/viewmem.c'; then $(CYGPATH_W) '$(real_topsrcdir)/x11/debug/viewmem.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/x11/debug/viewmem.c'; fi`
 
$(real_topsrcdir)/xnp2-pccore.o: $(real_topsrcdir)/pccore.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-pccore.o `test -f '$(real_topsrcdir)/pccore.c' || echo '$(srcdir)/'`$(real_topsrcdir)/pccore.c
 
$(real_topsrcdir)/xnp2-pccore.obj: $(real_topsrcdir)/pccore.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-pccore.obj `if test -f '$(real_topsrcdir)/pccore.c'; then $(CYGPATH_W) '$(real_topsrcdir)/pccore.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/pccore.c'; fi`
 
$(real_topsrcdir)/xnp2-nevent.o: $(real_topsrcdir)/nevent.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-nevent.o `test -f '$(real_topsrcdir)/nevent.c' || echo '$(srcdir)/'`$(real_topsrcdir)/nevent.c
 
$(real_topsrcdir)/xnp2-nevent.obj: $(real_topsrcdir)/nevent.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-nevent.obj `if test -f '$(real_topsrcdir)/nevent.c'; then $(CYGPATH_W) '$(real_topsrcdir)/nevent.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/nevent.c'; fi`
 
$(real_topsrcdir)/xnp2-calendar.o: $(real_topsrcdir)/calendar.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-calendar.o `test -f '$(real_topsrcdir)/calendar.c' || echo '$(srcdir)/'`$(real_topsrcdir)/calendar.c
 
$(real_topsrcdir)/xnp2-calendar.obj: $(real_topsrcdir)/calendar.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-calendar.obj `if test -f '$(real_topsrcdir)/calendar.c'; then $(CYGPATH_W) '$(real_topsrcdir)/calendar.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/calendar.c'; fi`
 
$(real_topsrcdir)/xnp2-timing.o: $(real_topsrcdir)/timing.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-timing.o `test -f '$(real_topsrcdir)/timing.c' || echo '$(srcdir)/'`$(real_topsrcdir)/timing.c
 
$(real_topsrcdir)/xnp2-timing.obj: $(real_topsrcdir)/timing.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-timing.obj `if test -f '$(real_topsrcdir)/timing.c'; then $(CYGPATH_W) '$(real_topsrcdir)/timing.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/timing.c'; fi`
 
$(real_topsrcdir)/xnp2-statsave.o: $(real_topsrcdir)/statsave.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-statsave.o `test -f '$(real_topsrcdir)/statsave.c' || echo '$(srcdir)/'`$(real_topsrcdir)/statsave.c
 
$(real_topsrcdir)/xnp2-statsave.obj: $(real_topsrcdir)/statsave.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-statsave.obj `if test -f '$(real_topsrcdir)/statsave.c'; then $(CYGPATH_W) '$(real_topsrcdir)/statsave.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/statsave.c'; fi`
 
$(real_topsrcdir)/xnp2-keystat.o: $(real_topsrcdir)/keystat.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-keystat.o `test -f '$(real_topsrcdir)/keystat.c' || echo '$(srcdir)/'`$(real_topsrcdir)/keystat.c
 
$(real_topsrcdir)/xnp2-keystat.obj: $(real_topsrcdir)/keystat.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/xnp2-keystat.obj `if test -f '$(real_topsrcdir)/keystat.c'; then $(CYGPATH_W) '$(real_topsrcdir)/keystat.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/keystat.c'; fi`
 
$(real_topsrcdir)/common/xnp2-strres.o: $(real_topsrcdir)/common/strres.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-strres.o `test -f '$(real_topsrcdir)/common/strres.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/strres.c
 
$(real_topsrcdir)/common/xnp2-strres.obj: $(real_topsrcdir)/common/strres.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-strres.obj `if test -f '$(real_topsrcdir)/common/strres.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/strres.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/strres.c'; fi`
 
$(real_topsrcdir)/common/xnp2-milstr.o: $(real_topsrcdir)/common/milstr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-milstr.o `test -f '$(real_topsrcdir)/common/milstr.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/milstr.c
 
$(real_topsrcdir)/common/xnp2-milstr.obj: $(real_topsrcdir)/common/milstr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-milstr.obj `if test -f '$(real_topsrcdir)/common/milstr.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/milstr.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/milstr.c'; fi`
 
$(real_topsrcdir)/common/xnp2-_memory.o: $(real_topsrcdir)/common/_memory.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-_memory.o `test -f '$(real_topsrcdir)/common/_memory.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/_memory.c
 
$(real_topsrcdir)/common/xnp2-_memory.obj: $(real_topsrcdir)/common/_memory.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-_memory.obj `if test -f '$(real_topsrcdir)/common/_memory.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/_memory.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/_memory.c'; fi`
 
$(real_topsrcdir)/common/xnp2-textfile.o: $(real_topsrcdir)/common/textfile.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-textfile.o `test -f '$(real_topsrcdir)/common/textfile.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/textfile.c
 
$(real_topsrcdir)/common/xnp2-textfile.obj: $(real_topsrcdir)/common/textfile.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-textfile.obj `if test -f '$(real_topsrcdir)/common/textfile.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/textfile.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/textfile.c'; fi`
 
$(real_topsrcdir)/common/xnp2-profile.o: $(real_topsrcdir)/common/profile.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-profile.o `test -f '$(real_topsrcdir)/common/profile.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/profile.c
 
$(real_topsrcdir)/common/xnp2-profile.obj: $(real_topsrcdir)/common/profile.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-profile.obj `if test -f '$(real_topsrcdir)/common/profile.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/profile.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/profile.c'; fi`
 
$(real_topsrcdir)/common/xnp2-rect.o: $(real_topsrcdir)/common/rect.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-rect.o `test -f '$(real_topsrcdir)/common/rect.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/rect.c
 
$(real_topsrcdir)/common/xnp2-rect.obj: $(real_topsrcdir)/common/rect.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-rect.obj `if test -f '$(real_topsrcdir)/common/rect.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/rect.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/rect.c'; fi`
 
$(real_topsrcdir)/common/xnp2-lstarray.o: $(real_topsrcdir)/common/lstarray.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-lstarray.o `test -f '$(real_topsrcdir)/common/lstarray.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/lstarray.c
 
$(real_topsrcdir)/common/xnp2-lstarray.obj: $(real_topsrcdir)/common/lstarray.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-lstarray.obj `if test -f '$(real_topsrcdir)/common/lstarray.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/lstarray.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/lstarray.c'; fi`
 
$(real_topsrcdir)/common/xnp2-bmpdata.o: $(real_topsrcdir)/common/bmpdata.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-bmpdata.o `test -f '$(real_topsrcdir)/common/bmpdata.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/bmpdata.c
 
$(real_topsrcdir)/common/xnp2-bmpdata.obj: $(real_topsrcdir)/common/bmpdata.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-bmpdata.obj `if test -f '$(real_topsrcdir)/common/bmpdata.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/bmpdata.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/bmpdata.c'; fi`
 
$(real_topsrcdir)/common/xnp2-mimpidef.o: $(real_topsrcdir)/common/mimpidef.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-mimpidef.o `test -f '$(real_topsrcdir)/common/mimpidef.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/mimpidef.c
 
$(real_topsrcdir)/common/xnp2-mimpidef.obj: $(real_topsrcdir)/common/mimpidef.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-mimpidef.obj `if test -f '$(real_topsrcdir)/common/mimpidef.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/mimpidef.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/mimpidef.c'; fi`
 
$(real_topsrcdir)/common/xnp2-parts.o: $(real_topsrcdir)/common/parts.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-parts.o `test -f '$(real_topsrcdir)/common/parts.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/parts.c
 
$(real_topsrcdir)/common/xnp2-parts.obj: $(real_topsrcdir)/common/parts.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-parts.obj `if test -f '$(real_topsrcdir)/common/parts.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/parts.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/parts.c'; fi`
 
$(real_topsrcdir)/common/xnp2-wavefile.o: $(real_topsrcdir)/common/wavefile.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-wavefile.o `test -f '$(real_topsrcdir)/common/wavefile.c' || echo '$(srcdir)/'`$(real_topsrcdir)/common/wavefile.c
 
$(real_topsrcdir)/common/xnp2-wavefile.obj: $(real_topsrcdir)/common/wavefile.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/common/xnp2-wavefile.obj `if test -f '$(real_topsrcdir)/common/wavefile.c'; then $(CYGPATH_W) '$(real_topsrcdir)/common/wavefile.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/common/wavefile.c'; fi`
 
$(real_topsrcdir)/codecnv/xnp2-eucsjis.o: $(real_topsrcdir)/codecnv/eucsjis.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-eucsjis.o `test -f '$(real_topsrcdir)/codecnv/eucsjis.c' || echo '$(srcdir)/'`$(real_topsrcdir)/codecnv/eucsjis.c
 
$(real_topsrcdir)/codecnv/xnp2-eucsjis.obj: $(real_topsrcdir)/codecnv/eucsjis.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-eucsjis.obj `if test -f '$(real_topsrcdir)/codecnv/eucsjis.c'; then $(CYGPATH_W) '$(real_topsrcdir)/codecnv/eucsjis.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/codecnv/eucsjis.c'; fi`
 
$(real_topsrcdir)/codecnv/xnp2-eucucs2.o: $(real_topsrcdir)/codecnv/eucucs2.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-eucucs2.o `test -f '$(real_topsrcdir)/codecnv/eucucs2.c' || echo '$(srcdir)/'`$(real_topsrcdir)/codecnv/eucucs2.c
 
$(real_topsrcdir)/codecnv/xnp2-eucucs2.obj: $(real_topsrcdir)/codecnv/eucucs2.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-eucucs2.obj `if test -f '$(real_topsrcdir)/codecnv/eucucs2.c'; then $(CYGPATH_W) '$(real_topsrcdir)/codecnv/eucucs2.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/codecnv/eucucs2.c'; fi`
 
$(real_topsrcdir)/codecnv/xnp2-sjiseuc.o: $(real_topsrcdir)/codecnv/sjiseuc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-sjiseuc.o `test -f '$(real_topsrcdir)/codecnv/sjiseuc.c' || echo '$(srcdir)/'`$(real_topsrcdir)/codecnv/sjiseuc.c
 
$(real_topsrcdir)/codecnv/xnp2-sjiseuc.obj: $(real_topsrcdir)/codecnv/sjiseuc.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-sjiseuc.obj `if test -f '$(real_topsrcdir)/codecnv/sjiseuc.c'; then $(CYGPATH_W) '$(real_topsrcdir)/codecnv/sjiseuc.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/codecnv/sjiseuc.c'; fi`
 
$(real_topsrcdir)/codecnv/xnp2-sjisucs2.o: $(real_topsrcdir)/codecnv/sjisucs2.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-sjisucs2.o `test -f '$(real_topsrcdir)/codecnv/sjisucs2.c' || echo '$(srcdir)/'`$(real_topsrcdir)/codecnv/sjisucs2.c
 
$(real_topsrcdir)/codecnv/xnp2-sjisucs2.obj: $(real_topsrcdir)/codecnv/sjisucs2.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-sjisucs2.obj `if test -f '$(real_topsrcdir)/codecnv/sjisucs2.c'; then $(CYGPATH_W) '$(real_topsrcdir)/codecnv/sjisucs2.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/codecnv/sjisucs2.c'; fi`
 
$(real_topsrcdir)/codecnv/xnp2-tcswap16.o: $(real_topsrcdir)/codecnv/tcswap16.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-tcswap16.o `test -f '$(real_topsrcdir)/codecnv/tcswap16.c' || echo '$(srcdir)/'`$(real_topsrcdir)/codecnv/tcswap16.c
 
$(real_topsrcdir)/codecnv/xnp2-tcswap16.obj: $(real_topsrcdir)/codecnv/tcswap16.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-tcswap16.obj `if test -f '$(real_topsrcdir)/codecnv/tcswap16.c'; then $(CYGPATH_W) '$(real_topsrcdir)/codecnv/tcswap16.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/codecnv/tcswap16.c'; fi`
 
$(real_topsrcdir)/codecnv/xnp2-tcswap32.o: $(real_topsrcdir)/codecnv/tcswap32.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-tcswap32.o `test -f '$(real_topsrcdir)/codecnv/tcswap32.c' || echo '$(srcdir)/'`$(real_topsrcdir)/codecnv/tcswap32.c
 
$(real_topsrcdir)/codecnv/xnp2-tcswap32.obj: $(real_topsrcdir)/codecnv/tcswap32.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-tcswap32.obj `if test -f '$(real_topsrcdir)/codecnv/tcswap32.c'; then $(CYGPATH_W) '$(real_topsrcdir)/codecnv/tcswap32.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/codecnv/tcswap32.c'; fi`
 
$(real_topsrcdir)/codecnv/xnp2-textcnv.o: $(real_topsrcdir)/codecnv/textcnv.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-textcnv.o `test -f '$(real_topsrcdir)/codecnv/textcnv.c' || echo '$(srcdir)/'`$(real_topsrcdir)/codecnv/textcnv.c
 
$(real_topsrcdir)/codecnv/xnp2-textcnv.obj: $(real_topsrcdir)/codecnv/textcnv.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-textcnv.obj `if test -f '$(real_topsrcdir)/codecnv/textcnv.c'; then $(CYGPATH_W) '$(real_topsrcdir)/codecnv/textcnv.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/codecnv/textcnv.c'; fi`
 
$(real_topsrcdir)/codecnv/xnp2-ucs2sjis.o: $(real_topsrcdir)/codecnv/ucs2sjis.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-ucs2sjis.o `test -f '$(real_topsrcdir)/codecnv/ucs2sjis.c' || echo '$(srcdir)/'`$(real_topsrcdir)/codecnv/ucs2sjis.c
 
$(real_topsrcdir)/codecnv/xnp2-ucs2sjis.obj: $(real_topsrcdir)/codecnv/ucs2sjis.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-ucs2sjis.obj `if test -f '$(real_topsrcdir)/codecnv/ucs2sjis.c'; then $(CYGPATH_W) '$(real_topsrcdir)/codecnv/ucs2sjis.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/codecnv/ucs2sjis.c'; fi`
 
$(real_topsrcdir)/codecnv/xnp2-ucs2utf8.o: $(real_topsrcdir)/codecnv/ucs2utf8.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-ucs2utf8.o `test -f '$(real_topsrcdir)/codecnv/ucs2utf8.c' || echo '$(srcdir)/'`$(real_topsrcdir)/codecnv/ucs2utf8.c
 
$(real_topsrcdir)/codecnv/xnp2-ucs2utf8.obj: $(real_topsrcdir)/codecnv/ucs2utf8.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-ucs2utf8.obj `if test -f '$(real_topsrcdir)/codecnv/ucs2utf8.c'; then $(CYGPATH_W) '$(real_topsrcdir)/codecnv/ucs2utf8.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/codecnv/ucs2utf8.c'; fi`
 
$(real_topsrcdir)/codecnv/xnp2-utf8ucs2.o: $(real_topsrcdir)/codecnv/utf8ucs2.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-utf8ucs2.o `test -f '$(real_topsrcdir)/codecnv/utf8ucs2.c' || echo '$(srcdir)/'`$(real_topsrcdir)/codecnv/utf8ucs2.c
 
$(real_topsrcdir)/codecnv/xnp2-utf8ucs2.obj: $(real_topsrcdir)/codecnv/utf8ucs2.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/codecnv/xnp2-utf8ucs2.obj `if test -f '$(real_topsrcdir)/codecnv/utf8ucs2.c'; then $(CYGPATH_W) '$(real_topsrcdir)/codecnv/utf8ucs2.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/codecnv/utf8ucs2.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios.o: $(real_topsrcdir)/bios/bios.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios.o `test -f '$(real_topsrcdir)/bios/bios.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios.c
 
$(real_topsrcdir)/bios/xnp2-bios.obj: $(real_topsrcdir)/bios/bios.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios.obj `if test -f '$(real_topsrcdir)/bios/bios.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios09.o: $(real_topsrcdir)/bios/bios09.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios09.o `test -f '$(real_topsrcdir)/bios/bios09.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios09.c
 
$(real_topsrcdir)/bios/xnp2-bios09.obj: $(real_topsrcdir)/bios/bios09.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios09.obj `if test -f '$(real_topsrcdir)/bios/bios09.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios09.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios09.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios0c.o: $(real_topsrcdir)/bios/bios0c.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios0c.o `test -f '$(real_topsrcdir)/bios/bios0c.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios0c.c
 
$(real_topsrcdir)/bios/xnp2-bios0c.obj: $(real_topsrcdir)/bios/bios0c.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios0c.obj `if test -f '$(real_topsrcdir)/bios/bios0c.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios0c.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios0c.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios12.o: $(real_topsrcdir)/bios/bios12.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios12.o `test -f '$(real_topsrcdir)/bios/bios12.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios12.c
 
$(real_topsrcdir)/bios/xnp2-bios12.obj: $(real_topsrcdir)/bios/bios12.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios12.obj `if test -f '$(real_topsrcdir)/bios/bios12.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios12.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios12.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios13.o: $(real_topsrcdir)/bios/bios13.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios13.o `test -f '$(real_topsrcdir)/bios/bios13.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios13.c
 
$(real_topsrcdir)/bios/xnp2-bios13.obj: $(real_topsrcdir)/bios/bios13.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios13.obj `if test -f '$(real_topsrcdir)/bios/bios13.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios13.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios13.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios18.o: $(real_topsrcdir)/bios/bios18.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios18.o `test -f '$(real_topsrcdir)/bios/bios18.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios18.c
 
$(real_topsrcdir)/bios/xnp2-bios18.obj: $(real_topsrcdir)/bios/bios18.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios18.obj `if test -f '$(real_topsrcdir)/bios/bios18.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios18.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios18.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios19.o: $(real_topsrcdir)/bios/bios19.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios19.o `test -f '$(real_topsrcdir)/bios/bios19.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios19.c
 
$(real_topsrcdir)/bios/xnp2-bios19.obj: $(real_topsrcdir)/bios/bios19.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios19.obj `if test -f '$(real_topsrcdir)/bios/bios19.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios19.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios19.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios1a.o: $(real_topsrcdir)/bios/bios1a.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios1a.o `test -f '$(real_topsrcdir)/bios/bios1a.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios1a.c
 
$(real_topsrcdir)/bios/xnp2-bios1a.obj: $(real_topsrcdir)/bios/bios1a.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios1a.obj `if test -f '$(real_topsrcdir)/bios/bios1a.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios1a.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios1a.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios1b.o: $(real_topsrcdir)/bios/bios1b.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios1b.o `test -f '$(real_topsrcdir)/bios/bios1b.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios1b.c
 
$(real_topsrcdir)/bios/xnp2-bios1b.obj: $(real_topsrcdir)/bios/bios1b.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios1b.obj `if test -f '$(real_topsrcdir)/bios/bios1b.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios1b.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios1b.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios1c.o: $(real_topsrcdir)/bios/bios1c.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios1c.o `test -f '$(real_topsrcdir)/bios/bios1c.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios1c.c
 
$(real_topsrcdir)/bios/xnp2-bios1c.obj: $(real_topsrcdir)/bios/bios1c.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios1c.obj `if test -f '$(real_topsrcdir)/bios/bios1c.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios1c.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios1c.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-bios1f.o: $(real_topsrcdir)/bios/bios1f.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios1f.o `test -f '$(real_topsrcdir)/bios/bios1f.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/bios1f.c
 
$(real_topsrcdir)/bios/xnp2-bios1f.obj: $(real_topsrcdir)/bios/bios1f.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-bios1f.obj `if test -f '$(real_topsrcdir)/bios/bios1f.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/bios1f.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/bios1f.c'; fi`
 
$(real_topsrcdir)/bios/xnp2-sxsibios.o: $(real_topsrcdir)/bios/sxsibios.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-sxsibios.o `test -f '$(real_topsrcdir)/bios/sxsibios.c' || echo '$(srcdir)/'`$(real_topsrcdir)/bios/sxsibios.c
 
$(real_topsrcdir)/bios/xnp2-sxsibios.obj: $(real_topsrcdir)/bios/sxsibios.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/bios/xnp2-sxsibios.obj `if test -f '$(real_topsrcdir)/bios/sxsibios.c'; then $(CYGPATH_W) '$(real_topsrcdir)/bios/sxsibios.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/bios/sxsibios.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-cbuscore.o: $(real_topsrcdir)/cbus/cbuscore.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-cbuscore.o `test -f '$(real_topsrcdir)/cbus/cbuscore.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/cbuscore.c
 
$(real_topsrcdir)/cbus/xnp2-cbuscore.obj: $(real_topsrcdir)/cbus/cbuscore.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-cbuscore.obj `if test -f '$(real_topsrcdir)/cbus/cbuscore.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/cbuscore.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/cbuscore.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-pc9861k.o: $(real_topsrcdir)/cbus/pc9861k.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-pc9861k.o `test -f '$(real_topsrcdir)/cbus/pc9861k.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/pc9861k.c
 
$(real_topsrcdir)/cbus/xnp2-pc9861k.obj: $(real_topsrcdir)/cbus/pc9861k.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-pc9861k.obj `if test -f '$(real_topsrcdir)/cbus/pc9861k.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/pc9861k.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/pc9861k.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-mpu98ii.o: $(real_topsrcdir)/cbus/mpu98ii.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-mpu98ii.o `test -f '$(real_topsrcdir)/cbus/mpu98ii.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/mpu98ii.c
 
$(real_topsrcdir)/cbus/xnp2-mpu98ii.obj: $(real_topsrcdir)/cbus/mpu98ii.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-mpu98ii.obj `if test -f '$(real_topsrcdir)/cbus/mpu98ii.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/mpu98ii.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/mpu98ii.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-amd98.o: $(real_topsrcdir)/cbus/amd98.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-amd98.o `test -f '$(real_topsrcdir)/cbus/amd98.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/amd98.c
 
$(real_topsrcdir)/cbus/xnp2-amd98.obj: $(real_topsrcdir)/cbus/amd98.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-amd98.obj `if test -f '$(real_topsrcdir)/cbus/amd98.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/amd98.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/amd98.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-board118.o: $(real_topsrcdir)/cbus/board118.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-board118.o `test -f '$(real_topsrcdir)/cbus/board118.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/board118.c
 
$(real_topsrcdir)/cbus/xnp2-board118.obj: $(real_topsrcdir)/cbus/board118.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-board118.obj `if test -f '$(real_topsrcdir)/cbus/board118.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/board118.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/board118.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-board14.o: $(real_topsrcdir)/cbus/board14.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-board14.o `test -f '$(real_topsrcdir)/cbus/board14.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/board14.c
 
$(real_topsrcdir)/cbus/xnp2-board14.obj: $(real_topsrcdir)/cbus/board14.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-board14.obj `if test -f '$(real_topsrcdir)/cbus/board14.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/board14.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/board14.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-board26k.o: $(real_topsrcdir)/cbus/board26k.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-board26k.o `test -f '$(real_topsrcdir)/cbus/board26k.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/board26k.c
 
$(real_topsrcdir)/cbus/xnp2-board26k.obj: $(real_topsrcdir)/cbus/board26k.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-board26k.obj `if test -f '$(real_topsrcdir)/cbus/board26k.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/board26k.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/board26k.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-board86.o: $(real_topsrcdir)/cbus/board86.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-board86.o `test -f '$(real_topsrcdir)/cbus/board86.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/board86.c
 
$(real_topsrcdir)/cbus/xnp2-board86.obj: $(real_topsrcdir)/cbus/board86.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-board86.obj `if test -f '$(real_topsrcdir)/cbus/board86.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/board86.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/board86.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-boardso.o: $(real_topsrcdir)/cbus/boardso.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-boardso.o `test -f '$(real_topsrcdir)/cbus/boardso.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/boardso.c
 
$(real_topsrcdir)/cbus/xnp2-boardso.obj: $(real_topsrcdir)/cbus/boardso.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-boardso.obj `if test -f '$(real_topsrcdir)/cbus/boardso.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/boardso.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/boardso.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-boardspb.o: $(real_topsrcdir)/cbus/boardspb.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-boardspb.o `test -f '$(real_topsrcdir)/cbus/boardspb.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/boardspb.c
 
$(real_topsrcdir)/cbus/xnp2-boardspb.obj: $(real_topsrcdir)/cbus/boardspb.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-boardspb.obj `if test -f '$(real_topsrcdir)/cbus/boardspb.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/boardspb.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/boardspb.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-boardx2.o: $(real_topsrcdir)/cbus/boardx2.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-boardx2.o `test -f '$(real_topsrcdir)/cbus/boardx2.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/boardx2.c
 
$(real_topsrcdir)/cbus/xnp2-boardx2.obj: $(real_topsrcdir)/cbus/boardx2.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-boardx2.obj `if test -f '$(real_topsrcdir)/cbus/boardx2.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/boardx2.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/boardx2.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-cs4231io.o: $(real_topsrcdir)/cbus/cs4231io.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-cs4231io.o `test -f '$(real_topsrcdir)/cbus/cs4231io.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/cs4231io.c
 
$(real_topsrcdir)/cbus/xnp2-cs4231io.obj: $(real_topsrcdir)/cbus/cs4231io.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-cs4231io.obj `if test -f '$(real_topsrcdir)/cbus/cs4231io.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/cs4231io.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/cs4231io.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-pcm86io.o: $(real_topsrcdir)/cbus/pcm86io.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-pcm86io.o `test -f '$(real_topsrcdir)/cbus/pcm86io.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/pcm86io.c
 
$(real_topsrcdir)/cbus/xnp2-pcm86io.obj: $(real_topsrcdir)/cbus/pcm86io.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-pcm86io.obj `if test -f '$(real_topsrcdir)/cbus/pcm86io.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/pcm86io.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/pcm86io.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-sasiio.o: $(real_topsrcdir)/cbus/sasiio.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-sasiio.o `test -f '$(real_topsrcdir)/cbus/sasiio.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/sasiio.c
 
$(real_topsrcdir)/cbus/xnp2-sasiio.obj: $(real_topsrcdir)/cbus/sasiio.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-sasiio.obj `if test -f '$(real_topsrcdir)/cbus/sasiio.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/sasiio.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/sasiio.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-scsiio.o: $(real_topsrcdir)/cbus/scsiio.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-scsiio.o `test -f '$(real_topsrcdir)/cbus/scsiio.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/scsiio.c
 
$(real_topsrcdir)/cbus/xnp2-scsiio.obj: $(real_topsrcdir)/cbus/scsiio.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-scsiio.obj `if test -f '$(real_topsrcdir)/cbus/scsiio.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/scsiio.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/scsiio.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-scsicmd.o: $(real_topsrcdir)/cbus/scsicmd.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-scsicmd.o `test -f '$(real_topsrcdir)/cbus/scsicmd.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/scsicmd.c
 
$(real_topsrcdir)/cbus/xnp2-scsicmd.obj: $(real_topsrcdir)/cbus/scsicmd.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-scsicmd.obj `if test -f '$(real_topsrcdir)/cbus/scsicmd.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/scsicmd.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/scsicmd.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-ideio.o: $(real_topsrcdir)/cbus/ideio.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-ideio.o `test -f '$(real_topsrcdir)/cbus/ideio.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/ideio.c
 
$(real_topsrcdir)/cbus/xnp2-ideio.obj: $(real_topsrcdir)/cbus/ideio.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-ideio.obj `if test -f '$(real_topsrcdir)/cbus/ideio.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/ideio.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/ideio.c'; fi`
 
$(real_topsrcdir)/cbus/xnp2-atapicmd.o: $(real_topsrcdir)/cbus/atapicmd.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-atapicmd.o `test -f '$(real_topsrcdir)/cbus/atapicmd.c' || echo '$(srcdir)/'`$(real_topsrcdir)/cbus/atapicmd.c
 
$(real_topsrcdir)/cbus/xnp2-atapicmd.obj: $(real_topsrcdir)/cbus/atapicmd.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/cbus/xnp2-atapicmd.obj `if test -f '$(real_topsrcdir)/cbus/atapicmd.c'; then $(CYGPATH_W) '$(real_topsrcdir)/cbus/atapicmd.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/cbus/atapicmd.c'; fi`
 
$(real_topsrcdir)/fdd/xnp2-diskdrv.o: $(real_topsrcdir)/fdd/diskdrv.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-diskdrv.o `test -f '$(real_topsrcdir)/fdd/diskdrv.c' || echo '$(srcdir)/'`$(real_topsrcdir)/fdd/diskdrv.c
 
$(real_topsrcdir)/fdd/xnp2-diskdrv.obj: $(real_topsrcdir)/fdd/diskdrv.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-diskdrv.obj `if test -f '$(real_topsrcdir)/fdd/diskdrv.c'; then $(CYGPATH_W) '$(real_topsrcdir)/fdd/diskdrv.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/fdd/diskdrv.c'; fi`
 
$(real_topsrcdir)/fdd/xnp2-newdisk.o: $(real_topsrcdir)/fdd/newdisk.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-newdisk.o `test -f '$(real_topsrcdir)/fdd/newdisk.c' || echo '$(srcdir)/'`$(real_topsrcdir)/fdd/newdisk.c
 
$(real_topsrcdir)/fdd/xnp2-newdisk.obj: $(real_topsrcdir)/fdd/newdisk.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-newdisk.obj `if test -f '$(real_topsrcdir)/fdd/newdisk.c'; then $(CYGPATH_W) '$(real_topsrcdir)/fdd/newdisk.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/fdd/newdisk.c'; fi`
 
$(real_topsrcdir)/fdd/xnp2-fddfile.o: $(real_topsrcdir)/fdd/fddfile.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-fddfile.o `test -f '$(real_topsrcdir)/fdd/fddfile.c' || echo '$(srcdir)/'`$(real_topsrcdir)/fdd/fddfile.c
 
$(real_topsrcdir)/fdd/xnp2-fddfile.obj: $(real_topsrcdir)/fdd/fddfile.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-fddfile.obj `if test -f '$(real_topsrcdir)/fdd/fddfile.c'; then $(CYGPATH_W) '$(real_topsrcdir)/fdd/fddfile.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/fdd/fddfile.c'; fi`
 
$(real_topsrcdir)/fdd/xnp2-fdd_xdf.o: $(real_topsrcdir)/fdd/fdd_xdf.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-fdd_xdf.o `test -f '$(real_topsrcdir)/fdd/fdd_xdf.c' || echo '$(srcdir)/'`$(real_topsrcdir)/fdd/fdd_xdf.c
 
$(real_topsrcdir)/fdd/xnp2-fdd_xdf.obj: $(real_topsrcdir)/fdd/fdd_xdf.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-fdd_xdf.obj `if test -f '$(real_topsrcdir)/fdd/fdd_xdf.c'; then $(CYGPATH_W) '$(real_topsrcdir)/fdd/fdd_xdf.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/fdd/fdd_xdf.c'; fi`
 
$(real_topsrcdir)/fdd/xnp2-fdd_d88.o: $(real_topsrcdir)/fdd/fdd_d88.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-fdd_d88.o `test -f '$(real_topsrcdir)/fdd/fdd_d88.c' || echo '$(srcdir)/'`$(real_topsrcdir)/fdd/fdd_d88.c
 
$(real_topsrcdir)/fdd/xnp2-fdd_d88.obj: $(real_topsrcdir)/fdd/fdd_d88.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-fdd_d88.obj `if test -f '$(real_topsrcdir)/fdd/fdd_d88.c'; then $(CYGPATH_W) '$(real_topsrcdir)/fdd/fdd_d88.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/fdd/fdd_d88.c'; fi`
 
$(real_topsrcdir)/fdd/xnp2-fdd_mtr.o: $(real_topsrcdir)/fdd/fdd_mtr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-fdd_mtr.o `test -f '$(real_topsrcdir)/fdd/fdd_mtr.c' || echo '$(srcdir)/'`$(real_topsrcdir)/fdd/fdd_mtr.c
 
$(real_topsrcdir)/fdd/xnp2-fdd_mtr.obj: $(real_topsrcdir)/fdd/fdd_mtr.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-fdd_mtr.obj `if test -f '$(real_topsrcdir)/fdd/fdd_mtr.c'; then $(CYGPATH_W) '$(real_topsrcdir)/fdd/fdd_mtr.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/fdd/fdd_mtr.c'; fi`
 
$(real_topsrcdir)/fdd/xnp2-sxsi.o: $(real_topsrcdir)/fdd/sxsi.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-sxsi.o `test -f '$(real_topsrcdir)/fdd/sxsi.c' || echo '$(srcdir)/'`$(real_topsrcdir)/fdd/sxsi.c
 
$(real_topsrcdir)/fdd/xnp2-sxsi.obj: $(real_topsrcdir)/fdd/sxsi.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-sxsi.obj `if test -f '$(real_topsrcdir)/fdd/sxsi.c'; then $(CYGPATH_W) '$(real_topsrcdir)/fdd/sxsi.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/fdd/sxsi.c'; fi`
 
$(real_topsrcdir)/fdd/xnp2-sxsihdd.o: $(real_topsrcdir)/fdd/sxsihdd.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-sxsihdd.o `test -f '$(real_topsrcdir)/fdd/sxsihdd.c' || echo '$(srcdir)/'`$(real_topsrcdir)/fdd/sxsihdd.c
 
$(real_topsrcdir)/fdd/xnp2-sxsihdd.obj: $(real_topsrcdir)/fdd/sxsihdd.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-sxsihdd.obj `if test -f '$(real_topsrcdir)/fdd/sxsihdd.c'; then $(CYGPATH_W) '$(real_topsrcdir)/fdd/sxsihdd.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/fdd/sxsihdd.c'; fi`
 
$(real_topsrcdir)/fdd/xnp2-sxsicd.o: $(real_topsrcdir)/fdd/sxsicd.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-sxsicd.o `test -f '$(real_topsrcdir)/fdd/sxsicd.c' || echo '$(srcdir)/'`$(real_topsrcdir)/fdd/sxsicd.c
 
$(real_topsrcdir)/fdd/xnp2-sxsicd.obj: $(real_topsrcdir)/fdd/sxsicd.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/fdd/xnp2-sxsicd.obj `if test -f '$(real_topsrcdir)/fdd/sxsicd.c'; then $(CYGPATH_W) '$(real_topsrcdir)/fdd/sxsicd.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/fdd/sxsicd.c'; fi`
 
$(real_topsrcdir)/font/xnp2-font.o: $(real_topsrcdir)/font/font.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/font/xnp2-font.o `test -f '$(real_topsrcdir)/font/font.c' || echo '$(srcdir)/'`$(real_topsrcdir)/font/font.c
 
$(real_topsrcdir)/font/xnp2-font.obj: $(real_topsrcdir)/font/font.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/font/xnp2-font.obj `if test -f '$(real_topsrcdir)/font/font.c'; then $(CYGPATH_W) '$(real_topsrcdir)/font/font.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/font/font.c'; fi`
 
$(real_topsrcdir)/font/xnp2-fontdata.o: $(real_topsrcdir)/font/fontdata.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/font/xnp2-fontdata.o `test -f '$(real_topsrcdir)/font/fontdata.c' || echo '$(srcdir)/'`$(real_topsrcdir)/font/fontdata.c
 
$(real_topsrcdir)/font/xnp2-fontdata.obj: $(real_topsrcdir)/font/fontdata.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/font/xnp2-fontdata.obj `if test -f '$(real_topsrcdir)/font/fontdata.c'; then $(CYGPATH_W) '$(real_topsrcdir)/font/fontdata.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/font/fontdata.c'; fi`
 
$(real_topsrcdir)/font/xnp2-fontmake.o: $(real_topsrcdir)/font/fontmake.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/font/xnp2-fontmake.o `test -f '$(real_topsrcdir)/font/fontmake.c' || echo '$(srcdir)/'`$(real_topsrcdir)/font/fontmake.c
 
$(real_topsrcdir)/font/xnp2-fontmake.obj: $(real_topsrcdir)/font/fontmake.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/font/xnp2-fontmake.obj `if test -f '$(real_topsrcdir)/font/fontmake.c'; then $(CYGPATH_W) '$(real_topsrcdir)/font/fontmake.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/font/fontmake.c'; fi`
 
$(real_topsrcdir)/font/xnp2-fontpc88.o: $(real_topsrcdir)/font/fontpc88.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/font/xnp2-fontpc88.o `test -f '$(real_topsrcdir)/font/fontpc88.c' || echo '$(srcdir)/'`$(real_topsrcdir)/font/fontpc88.c
 
$(real_topsrcdir)/font/xnp2-fontpc88.obj: $(real_topsrcdir)/font/fontpc88.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/font/xnp2-fontpc88.obj `if test -f '$(real_topsrcdir)/font/fontpc88.c'; then $(CYGPATH_W) '$(real_topsrcdir)/font/fontpc88.c'; else $(CYGPATH_W) '$(srcdir)/$(real_topsrcdir)/font/fontpc88.c'; fi`
 
$(real_topsrcdir)/font/xnp2-fontpc98.o: $(real_topsrcdir)/font/fontpc98.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xnp2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o $(real_topsrcdir)/font/xnp2-fontpc98.o `test -f '$(real_topsrcdir)/font/fontpc98.c' || echo '$(srcdir)/'`$(real_topsrcdir)/font/fontpc98.c
 
$(real_topsrcd